Iptables
將本機80端口的請求轉發到8080端口
iptables -t nat -A PREROUTING -p tcp --dport 80 -j REDIRECT --to-ports 8080
如果需要本機也可以訪問,則需要配置OUTPUT鏈:
iptables -t nat -A OUTPUT -p tcp -d 127.0.0.1 --dport 80 -j REDIRECT --to-ports 8080
兩機之間的端口轉發
將本機的81端口的請求全部轉發到192.168.1.1:80
首先要啓用ipv4的轉發功能:
echo 1 > /proc/sys/net/ipv4/ip_forward
或者是修改/etc/sysctl.conf (via)以便重啓後也會啓用轉發,然後設定iptables(via):
iptables -t nat -A PREROUTING -p tcp --dport 81 -j DNAT --to 192.168.1.1:80 iptables -t nat -A POSTROUTING -j MASQUERADE
如果開啓了防火牆功能,注意要將80和81兩個端口都打開。
10.23.3.129上設置對10.21.1.91 443端口的轉發腳本:
#!/bin/sh /sbin/iptables -t nat -F echo 1 > /proc/sys/net/ipv4/ip_forward /sbin/iptables -t nat -A PREROUTING -p tcp --dport 443 -j DNAT --to 10.21.1.91:443 /sbin/iptables -t nat -A POSTROUTING -j MASQUERADE /sbin/iptables -t nat -L -n
linux下最簡單的端口轉發工具:rinetd【如果覺得iptables使用複雜,可用下面的工具,比較簡單】
官網地址:http://www.boutell.com/rinetd