linux下利用iptables規(guī)則配置端口轉(zhuǎn)發(fā)
1、需求
將所有80端口的訪問(wèn)流量轉(zhuǎn)發(fā)到本機(jī)8080端口。
2、iptables規(guī)則
iptables -t nat -A PREROUTING -p tcp --dport 80 -j REDIRECT --to-ports 8080
參數(shù)解釋?zhuān)?/p>
-t:指定規(guī)則表,端口轉(zhuǎn)發(fā)需要在nat表中匹配。
-A:在規(guī)則鏈尾部添加規(guī)則。端口重定向需要在PREROUTING鏈添加。
-p:指定匹配協(xié)議。
--dport:匹配目標(biāo)端口。
-j:指定動(dòng)作,REDIRECT表示目標(biāo)端口轉(zhuǎn)換(nat表中操作)。
--to-ports:指定重定向端口。
3、注意事項(xiàng)
需要開(kāi)啟ip forward功能,允許主機(jī)轉(zhuǎn)發(fā)流量:
[root@localhost ~]# echo "1" > /proc/sys/net/ipv4/ip_forward
經(jīng)過(guò)上面配置后,當(dāng)其他主機(jī)訪問(wèn)本機(jī)80端口時(shí),iptables會(huì)將流量轉(zhuǎn)發(fā)到本機(jī)的8080端口。
但是,當(dāng)本機(jī)訪問(wèn)本機(jī)80端口時(shí),并不會(huì)轉(zhuǎn)發(fā)流量到8080端口,因?yàn)楸緳C(jī)訪問(wèn)本機(jī)不經(jīng)過(guò)PREROUTING鏈。
如果需要本機(jī)訪問(wèn)也被轉(zhuǎn)發(fā),需要在OUTPUT鏈增加規(guī)則。
END.
微信公眾號(hào):程序員的一天