本机端口转发
将本机80端口的请求转发到8080端口:
将本机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
原因:外网访问需要经过PREROUTING链,但是localhost不经过该链,因此需要用OUTPUT,或者POSTROUTING。
以上规则可以通过 iptables -t nat -F PREROUTING(或者是OUTPUT)清除
两机之间的端口转发
将本机的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两个端口都打开。
禁止Ping入
允许内网(192.168.1.*)的ping入,允许ping出,禁止其它网段的ping入
iptables -A INPUT -p icmp --icmp-type 8 -s 192.168.1.0/24 -j ACCEPT