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

原因:外网访问需要经过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
iptables -A INPUT -p icmp --icmp-type 8 -j DROP

作者:肖斌
本文链接:http://xiaobin.net/200912/iptables-example/

Printed from: http://xiaobin.net/200912/iptables-example/ .
© XiaoBiN.net 2010.

Leave a Reply