iptables配置:
 
1. 主机防火墙。
环境:本机作为WEB服务器,DNS服务器,并且允许通过SSH远程管理,其他所有数据包都不允许通过。
# vi iptable.sh
#!/bin/bash
#iptable.sh
iptables -F
iptables -X
iptables -Z
iptables -t nat -F
iptables -t nat -X
iptables -t nat -Z
iptables -t mangle -F
iptables -t mangle -X
iptables -t mangle -Z
iptables -P INPUT DROP
iptables -P OUTPUT DROP
iptables -P FORWARD DROP
iptables -A INPUT -p tcp --dport 22 -j ACCEPT
iptables -A OUTPUT -p tcp --sport 22 -m state --state ESTABLISHED -j ACCEPT
iptables -A OUTPUT -p icmp -j ACCEPT
iptables -A INPUT -p icmp -j ACCEPT
iptables -A INPUT -p tcp --dport 80 -j ACCEPT
iptables -A OUTPUT -p tcp --sport 80 -m state --state ESTABLISHED -j ACCEPT
iptables -A INPUT -p udp --dport 53 -j ACCEPT
iptables -A OUTPUT -p udp --sport 53 -m state --state ESTABLISHED -j ACCEPT
service iptables save
 
此时本机只允许228053端口数据包进入。
 
如果自己是DNS客户机的话,用下面的规则:
iptables -A OUTPUT -p udp --dport 53 -j ACCEPT
iptables -A INPUT -p udp --sport 53 -m state --state ESTABLISHED -j ACCEPT
 
2. 网关服务器(SNAT
拓扑图:
# vi iptable.sh
#!/bin/bash
#iptable.sh
echo "1" > /proc/sys/net/ipv4/ip_forward
iptables -F
iptables -Z
iptables -X
iptables -t nat -F
iptables -t nat -Z
iptables -t nat -X
iptables -t mangle -F
iptables -t mangle -Z
iptables -t mangle -X
iptables -P INPUT DROP
iptables -P OUTPUT DROP
iptables -P FORWARD ACCEPT
iptables -A OUTPUT -p icmp -j ACCEPT
iptables -A INPUT -p icmp -j ACCEPT
iptables -A INPUT -p tcp --dport 22 -j ACCEPT
iptables -A OUTPUT -p tcp --sport 22 -m state --state ESTABLISHED -j ACCEPT
iptables -t nat -P PREROUTING ACCEPT
iptables -t nat -P POSTROUTING ACCEPT
iptables -t nat -P OUTPUT ACCEPT
iptables -t nat -A POSTROUTING -s 192.168.100.0/24 -j SNAT --to-source 192.168.1.12
service iptables save
 
ADSL: IP伪装
iptables -t nat -A POSTROUTING -s 192.168.100.0/24 -o eth1 -j MASQUERADE
iptables -t nat -A POSTROUTING -s 192.168.100.0/24 -o ppp0 -j MASQUERADE 
 
 
 
3. 发布服务器。(DNAT)
iptables -t nat -A PREROUTING -d 192.168.1.12 -p tcp --dport 80 -j DNAT --to-destination 192.168.100.2
iptables -t nat -A PREROUTING -d 192.168.1.12 -p tcp --dport 20 -j DNAT --to-destination 192.168.100.2
iptables -t nat -A PREROUTING -d 192.168.1.12 -p tcp --dport 21 -j DNAT --to-destination 192.168.100.2
 
或者可以合并为一条(发布多端口--当目标都为一台机子时)
iptables -t nat -A PREROUTING -d 192.168.1.12 -p tcp \
-m multiport --dports 20,21,80,25,110,143 -j DNAT -to-destination 192.168.100.2