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
此时本机只允许
22
,
80
,
53
端口数据包进入。
如果自己是
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