下面是我的nat.sh
#!/bin/sh
# Name: nat.sh
# Author: Bixuan
# Date: 2003/04/04
echo "Your user the iptables firewall.";
#eth1_IP="192.168.1.1" #内网IP地址
SRC="192.168.1.0/24" # 内网地址段
case $1 in
start)
echo 1 > /proc/sys/net/ipv4/ip_forward
/sbin/modprobe ip_tables
/sbin/modprobe iptable_filter
/sbin/modprobe iptable_nat
/sbin/modprobe ip_conntrack
/sbin/modprobe ip_conntrack_ftp
/sbin/modprobe ip_nat_ftp
/sbin/iptables -F INPUT
/sbin/iptables -F FORWARD
/sbin/iptables -F POSTROUTING -t nat
/sbin/iptables -P FORWARD DROP
/sbin/iptables -t nat -A POSTROUTING -o eth0 -s $SRC -j MASQUERADE
/sbin/iptables -A FORWARD -i eth0 -m state --state ESTABLISHED,RELATED -j ACCEPT
/sbin/iptables -A FORWARD -s $SRC -j ACCEPT
echo "Nat is strating ...... [ OK ]"
;;
stop)
echo 0 > /proc/sys/net/ipv4/ip_forward
;;
*)
echo $"Usage: $0 {start|stop}";
esac
端口映射的脚本DNAT.sh:
#!/bin/sh
#Name: DNAT.sh
IP="192.168.2.165" # 外网IP
SIP="192.168.1.2" #内网IP
GATE_WAY="192.168.1.1" #内网网关
#iptables -t nat -A PREROUTING -d ..IP -p tcp --dport 80 -j DNAT --to ..IP
#iptables -t nat -A POSTROUTING -d ..IP -p tcp --dport 80 -j SNAT --to ......
#iptables -A FORWARD -o eth1 -d ..IP -j ACCEPT
#iptables -A FORWARD -i eth1 -s..IP -m state --state ESTABLISHED -j ACCEPT
####################### pub 部分 ##############################
echo 1 > /proc/sys/net/ipv4/ip_forward
modprobe ip_tables
modprobe iptable_filter
modprobe iptable_nat
modprobe ip_conntrack
modprobe ip_conntrack_ftp
modprobe ip_nat_ftp
modprobe ipt_state
iptables -F
iptables -t nat -F
iptables -F INPUT
iptables -F FORWARD
iptables -F POSTROUTING -t nat
iptables -P FORWARD DROP
############## 端口映射 Start ###########################
#Web
iptables -F
iptables -t nat -F
iptables -t nat -A PREROUTING -d $IP -p tcp --dport 80 -j DNAT --to $SIP:80
iptables -t nat -A POSTROUTING -d $SIP -p tcp --dport 80 -j SNAT --to $GATE_WAY
#iptables -A FORWARD -d $SIP -j ACCEPT
#iptables -A FORWARD -s $SIP -m state --state ESTABLISHED -j ACCEPT
#FTP
iptables -t nat -A PREROUTING -d $IP -p tcp --dport 21 -j DNAT --to $SIP:21
iptables -t nat -A POSTROUTING -d $SIP -p tcp --dport 21 -j SNAT --to $GATE_WAY
iptables -A FORWARD -d $SIP -j ACCEPT
iptables -A FORWARD -s $SIP -m state --state ESTABLISHED -j ACCEPT
############## 端口映射 End ###########################
为了方便,下面是2大功能合并的脚本NAT_DNAT.sh:
#!/bin/sh
#Name: NAT_DNAT.sh
IP="192.168.2.165"
SIP="192.168.1.2"
GATE_WAY="192.168.1.1"
SRC_NAT="192.168.1.0/24"
#
####################### pub 部分 ##############################
echo 1 > /proc/sys/net/ipv4/ip_forward
modprobe ip_tables
modprobe iptable_filter
modprobe iptable_nat
modprobe ip_conntrack
modprobe ip_conntrack_ftp
modprobe ip_nat_ftp
modprobe ipt_state
iptables -F
iptables -t nat -F
iptables -F INPUT
iptables -F FORWARD
iptables -F POSTROUTING -t nat
iptables -P FORWARD DROP
####################### NAT 部分 ##############################
iptables -t nat -A POSTROUTING -o eth0 -s $SRC_NAT -j MASQUERADE
iptables -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A FORWARD -s $SRC_NAT -j ACCEPT
################################## 端口映射 Start ####################################
#iptables -t nat -A PREROUTING -d 外部IP -p tcp --dport 80 -j DNAT --to 内部IP
#iptables -t nat -A POSTROUTING -d 内部IP -p tcp --dport 80 -j SNAT --to 内部网关地址
#iptables -A FORWARD -o eth1 -d 内部IP -j ACCEPT
#iptables -A FORWARD -i eth1 -s内部IP -m state --state ESTABLISHED -j ACCEPT
#Web
#iptables -F
#iptables -t nat -F
iptables -t nat -A PREROUTING -d $IP -p tcp --dport 80 -j DNAT --to $SIP:80
iptables -t nat -A POSTROUTING -d $SIP -p tcp --dport 80 -j SNAT --to $GATE_WAY
#iptables -A FORWARD -d $SIP -j ACCEPT
#iptables -A FORWARD -s $SIP -m state --state ESTABLISHED -j ACCEPT
#FTP
iptables -t nat -A PREROUTING -d $IP -p tcp --dport 21 -j DNAT --to $SIP:21
iptables -t nat -A POSTROUTING -d $SIP -p tcp --dport 21 -j SNAT --to $GATE_WAY
# Forward rules
iptables -A FORWARD -d $SIP -j ACCEPT
iptables -A FORWARD -s $SIP -m state --state ESTABLISHED -j ACCEPT
################################## 端口映射 End ###########################################
#!/bin/sh
# Name: nat.sh
# Author: Bixuan
# Date: 2003/04/04
echo "Your user the iptables firewall.";
#eth1_IP="192.168.1.1" #内网IP地址
SRC="192.168.1.0/24" # 内网地址段
case $1 in
start)
echo 1 > /proc/sys/net/ipv4/ip_forward
/sbin/modprobe ip_tables
/sbin/modprobe iptable_filter
/sbin/modprobe iptable_nat
/sbin/modprobe ip_conntrack
/sbin/modprobe ip_conntrack_ftp
/sbin/modprobe ip_nat_ftp
/sbin/iptables -F INPUT
/sbin/iptables -F FORWARD
/sbin/iptables -F POSTROUTING -t nat
/sbin/iptables -P FORWARD DROP
/sbin/iptables -t nat -A POSTROUTING -o eth0 -s $SRC -j MASQUERADE
/sbin/iptables -A FORWARD -i eth0 -m state --state ESTABLISHED,RELATED -j ACCEPT
/sbin/iptables -A FORWARD -s $SRC -j ACCEPT
echo "Nat is strating ...... [ OK ]"
;;
stop)
echo 0 > /proc/sys/net/ipv4/ip_forward
;;
*)
echo $"Usage: $0 {start|stop}";
esac
端口映射的脚本DNAT.sh:
#!/bin/sh
#Name: DNAT.sh
IP="192.168.2.165" # 外网IP
SIP="192.168.1.2" #内网IP
GATE_WAY="192.168.1.1" #内网网关
#iptables -t nat -A PREROUTING -d ..IP -p tcp --dport 80 -j DNAT --to ..IP
#iptables -t nat -A POSTROUTING -d ..IP -p tcp --dport 80 -j SNAT --to ......
#iptables -A FORWARD -o eth1 -d ..IP -j ACCEPT
#iptables -A FORWARD -i eth1 -s..IP -m state --state ESTABLISHED -j ACCEPT
####################### pub 部分 ##############################
echo 1 > /proc/sys/net/ipv4/ip_forward
modprobe ip_tables
modprobe iptable_filter
modprobe iptable_nat
modprobe ip_conntrack
modprobe ip_conntrack_ftp
modprobe ip_nat_ftp
modprobe ipt_state
iptables -F
iptables -t nat -F
iptables -F INPUT
iptables -F FORWARD
iptables -F POSTROUTING -t nat
iptables -P FORWARD DROP
############## 端口映射 Start ###########################
#Web
iptables -F
iptables -t nat -F
iptables -t nat -A PREROUTING -d $IP -p tcp --dport 80 -j DNAT --to $SIP:80
iptables -t nat -A POSTROUTING -d $SIP -p tcp --dport 80 -j SNAT --to $GATE_WAY
#iptables -A FORWARD -d $SIP -j ACCEPT
#iptables -A FORWARD -s $SIP -m state --state ESTABLISHED -j ACCEPT
#FTP
iptables -t nat -A PREROUTING -d $IP -p tcp --dport 21 -j DNAT --to $SIP:21
iptables -t nat -A POSTROUTING -d $SIP -p tcp --dport 21 -j SNAT --to $GATE_WAY
iptables -A FORWARD -d $SIP -j ACCEPT
iptables -A FORWARD -s $SIP -m state --state ESTABLISHED -j ACCEPT
############## 端口映射 End ###########################
为了方便,下面是2大功能合并的脚本NAT_DNAT.sh:
#!/bin/sh
#Name: NAT_DNAT.sh
IP="192.168.2.165"
SIP="192.168.1.2"
GATE_WAY="192.168.1.1"
SRC_NAT="192.168.1.0/24"
#
####################### pub 部分 ##############################
echo 1 > /proc/sys/net/ipv4/ip_forward
modprobe ip_tables
modprobe iptable_filter
modprobe iptable_nat
modprobe ip_conntrack
modprobe ip_conntrack_ftp
modprobe ip_nat_ftp
modprobe ipt_state
iptables -F
iptables -t nat -F
iptables -F INPUT
iptables -F FORWARD
iptables -F POSTROUTING -t nat
iptables -P FORWARD DROP
####################### NAT 部分 ##############################
iptables -t nat -A POSTROUTING -o eth0 -s $SRC_NAT -j MASQUERADE
iptables -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A FORWARD -s $SRC_NAT -j ACCEPT
################################## 端口映射 Start ####################################
#iptables -t nat -A PREROUTING -d 外部IP -p tcp --dport 80 -j DNAT --to 内部IP
#iptables -t nat -A POSTROUTING -d 内部IP -p tcp --dport 80 -j SNAT --to 内部网关地址
#iptables -A FORWARD -o eth1 -d 内部IP -j ACCEPT
#iptables -A FORWARD -i eth1 -s内部IP -m state --state ESTABLISHED -j ACCEPT
#Web
#iptables -F
#iptables -t nat -F
iptables -t nat -A PREROUTING -d $IP -p tcp --dport 80 -j DNAT --to $SIP:80
iptables -t nat -A POSTROUTING -d $SIP -p tcp --dport 80 -j SNAT --to $GATE_WAY
#iptables -A FORWARD -d $SIP -j ACCEPT
#iptables -A FORWARD -s $SIP -m state --state ESTABLISHED -j ACCEPT
#FTP
iptables -t nat -A PREROUTING -d $IP -p tcp --dport 21 -j DNAT --to $SIP:21
iptables -t nat -A POSTROUTING -d $SIP -p tcp --dport 21 -j SNAT --to $GATE_WAY
# Forward rules
iptables -A FORWARD -d $SIP -j ACCEPT
iptables -A FORWARD -s $SIP -m state --state ESTABLISHED -j ACCEPT
################################## 端口映射 End ###########################################
转载于:https://blog.51cto.com/linedu/143471