# iptables -t filter -A INPUT -s 123.456.789.0/24 -j DROP |
# iptables -t filter -A OUTPUT -d 123.456.789.0/24 -j DROP |
# iptables -t filter -D OUTPUT -d 123.456.789.0/24 -j DROP |
# iptables -P INPUT DROP# iptables -P FORWARD DROP# iptables -P OUTPUT ACCEPT |
# iptables -t filter -A INPUT -s 123.456.789.0/24 -j ACCEPT |
# iptables -t filter -A INPUT -i eth0 -p tcp --syn -j DROP |
# iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE# iptables -t filter -A FORWARD -i eth0 -o eth1 -m state --state RELATED,ESTABLISHED -j ACCEPT# iptables -t filter -A FORWARD -i eth1 -o eth0 -j ACCEPT |
# iptables -t filter -P FORWARD DROP# iptables -t nat -P POSTROUTING DROP |
# iptables -t nat -A POSTROUTING -o ppp0 -j MASQUERADE |
# iptables -t nat -A PREROUTING -i eth0 -p tcp -dport 80 -j DNAT -to 192.168.0.10:80# iptables -t nat -A PREROUTING -i eth0 -p tcp -dport 25 -j DNAT -to 192.168.0.11:25 |
$ iptables-save > iptables-script |
$ iptables-restore iptables-script |
#!/bin/sh#为变量赋值IPTABLES=/sbin/iptablesLAN_NET="192.168.1.0/24"IFACE= "eth0"LO_IFACE="lo"LO_IP="127.0.0.1"#加载所需的内核/sbin/modprobe ip_conntrack/sbin/modprobe iptable_nat#缺省情况下,IP转发都处于不可用状态,将其设置为可用状态:echo "1" > /proc/sys/net/ipv4/ip_forward#使IP的动态分配功能可用echo "1" > /proc/sys/net/ipv4/ip_dynaddr#每次重启这个脚本时,最好清除以前所设的规则$IPTABLES -P INPUT DROP$IPTABLES -F INPUT$IPTABLES -P OUTPUT ACCEPT$IPTABLES -F OUTPUT$IPTABLES -P FORWARD DROP$IPTABLES -F FORWARD$IPTABLES -F -t nat#只允许在LAN中使用SSH连接$IPTABLES -A INPUT -s LAN_NET -p tcp --destination-port ssh -j ACCEPT#允许loopback!$IPTABLES -A INPUT -i lo -p all -j ACCEPT$IPTABLES -A OUTPUT -o lo -p all -j ACCEPT#丢弃那些流入的宣称是来自本地机器的数据包#丢弃那些流出的不是出自本地机的数据包$IPTABLES -A INPUT -i $IFACE -s $LAN_NET -j DROP$IPTABLES -A OUTPUT -o $IFACE -s ! $LAN_NET -j DROP#限制一些流出的信息$IPTABLES -A OUTPUT -o eth0 -p tcp -dport 31337 -j DROP$IPTABLES -A OUTPUT -o eth0 -p tcp -sport 31337 -j DROP#此外,31335、27444、27665、20034 NetBus、9704、137-139(smb)端口也应被禁止。 |