|
|
modprobe iptable_nat
#加载NAT模块
modprobe ip_tables
modprobe ip_nat_ftp
modprobe ip_conntrack
#加载连接跟踪模块
modprobe ip_conntrack_ftp
#加载FTP连接跟踪模块
echo 1 > /proc/sys/net/ipv4/ip_forward
#启用IP转发
iptables -t nat -A POSTROUTING -o eth0 -s 172.16.128.0/22 -j MASQUERADE
#启用IP欺骗(MASQUERADE),只对源地址为 172.16.128.0/22这段生效
iptables -t nat -A PREROUTING -i eth0 -p tcp -m tcp --dport 80 -j REDIRECT --to-ports 3128
#将所有80端口的包转发到3128端口
iptables -t nat -A PREROUTING -i eth0 -d 61.x.x.12 -j DNAT --to 172.16.128.x
iptables -t nat -A PREROUTING -i eth0 -d 61.x.x.12 -p tcp --dport 80 -j DNAT --to-destination 172.16.128.x:80
#做地址映射,把目标地址61.x.x.12通过目标地址转换,变成172.16.128.x
iptables -t nat -A POSTROUTING -o eth0 -s 172.16.128.x -j SNAT --to 61.x.x.12
#做地址映射,把源地址172.16.128.x通过源地址转换,变成61.x.x.12
iptables -t nat -A POSTROUTING -p tcp -s 192.168.123.1/32 -d 192.168.123.8/32 -j SNAT --to 192.168.123.254
#把源地址的请求到目标地址做源地址转换,变成x.x.x.254
iptables -F INPUT
#清空入站规则
iptables -F OUTPUT
#清空出站规则
iptables -t nat -F
#清空NAT规则
iptables -P INPUT DROP
#设置默认的入站规则为丢弃(DROP)
iptables -A INPUT --sport 80 -j ACCEPT
#允许此主机下载网页(来自源端口为80的数据包)
iptables -A INPUT -i ! eth1 -j ACCEPT
iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A INPUT -p tcp --dport http -m state --state NEW -j ACCEPT
#允许http访问
iptables -A INPUT -p tcp -i eth1 -j REJECT --reject-with tcp-reset
iptables -A INPUT -p tcp -i eth1 -j REJECT --reject-with icmp-port-unreachable
#传递TCP连接,处理UDP
iptables -A INPUT -p icmp -m limit --limit 6/m --limit-burst 5 -j ACCEPT
#前四个包正常,第5个包开始每十秒一个正常 |
|