#!/bin/bash

EXTIF="eth0"
#INIF="eth0:0"

#eth0:0 为虚拟网卡 (ifconfig add eth0:0 192.168.1.2 netmask 255.255.255.0)

INNET="192.168.1.0/24"

#=======================加载模块==============================================
modprobe ip_tables
modprobe ip_nat_ftp
modprobe ip_nat_irc
modprobe ip_conntrack
modprobe ip_conntrack_ftp
modprobe ip_conntrack_irc

#==============清除规则 并初始化= ======================
/sbin/iptables -F
/sbin/iptables -X
/sbin/iptables -Z

/sbin/iptables -F -t nat

/sbin/iptables -X -t nat
/sbin/iptables -Z -t nat

/sbin/iptables -P INPUT ACCEPT

/sbin/iptables -P OUTPUT ACCEPT
/sbin/iptables -P FORWARD ACCEPT

/sbin/iptables -t nat -P PREROUTING ACCEPT

/sbin/iptables -t nat -P POSTROUTING ACCEPT
/sbin/iptables -t nat -P OUTPUT ACCEPT

#====================允许信任网段,启动nat===============================

/sbin/iptables -A INPUT -i lo -j ACCEPT

# if[ "$INIF" != ""]; then
# /sbin/iptables -A INPUT -i $INIF -j ACCEPT
echo "1" > /proc/sys/net/ipv4/ip_forward
/sbin/iptables -t nat -A POSTROUTING -s $INNET -o $EXTIF -j MASQUERADE

# /sbin/iptables -t nat -A POSTROUTING -s $INNET -o $EXTIF -j SNAT --to $EXTIF

# fi

 

#================允许icmp以及其他通过==========================

iptables -A INPUT -p TCP -i $EXTIF --dport 21 --sport 1024:65534 -j ACCEPT # FTP
iptables -A INPUT -p TCP -i $EXTIF --dport 22 --sport 1024:65534 -j ACCEPT # SSH
iptables -A INPUT -p TCP -i $EXTIF --dport 25 --sport 1024:65534 -j ACCEPT # SMTP
iptables -A INPUT -p UDP -i $EXTIF --dport 53 --sport 1024:65534 -j ACCEPT # DNS
iptables -A INPUT -p TCP -i $EXTIF --dport 53 --sport 1024:65534 -j ACCEPT # DNS
iptables -A INPUT -p TCP -i $EXTIF --dport 80 --sport 1024:65534 -j ACCEPT # WWW
iptables -A INPUT -p TCP -i $EXTIF --dport 110 --sport 1024:65534 -j ACCEPT # POP3
iptables -A INPUT -p TCP -i $EXTIF --dport 443 --sport 1024:65534 -j ACCEPT # HTTPS