不一定最好+正确,但是可用
1,清空原有规则,不是必须的。
#!/bin/sh
#accept-all policy
IPT=’/sbin/iptables’
$IPT -t nat -F
$IPT -t nat -X
$IPT -t nat -P PREROUTING ACCEPT
$IPT -t nat -P POSTROUTING ACCEPT
$IPT -t nat -P OUTPUT ACCEPT
$IPT -t mangle -F
$IPT -t mangle -X
$IPT -t mangle -P PREROUTING ACCEPT
$IPT -t mangle -P INPUT ACCEPT
$IPT -t mangle -P FORWARD ACCEPT
$IPT -t mangle -P OUTPUT ACCEPT
$IPT -t mangle -P POSTROUTING ACCEPT
$IPT -F
$IPT -X
$IPT -P FORWARD ACCEPT
$IPT -P INPUT ACCEPT
$IPT -P OUTPUT ACCEPT
$IPT -t raw -F
$IPT -t raw -X
$IPT -t raw -P PREROUTING ACCEPT
$IPT -t raw -P OUTPUT ACCEPT
开始设置
/sbin/iptables -A INPUT -i eth0 -j ACCEPT
echo “1” > /proc/sys/net/ipv4/ip_forward
#服务器公网ip
export AO=”6.1.1.3″
#服务器内网ip
export AI=”172.16.96.123″
#目标机器内网ip
export BI=”172.16.97.234″
#公网的端口
export PO=”7704″
#目标端口
export PI=”3389″
export AII=”eth1″
iptables -t nat -A PREROUTING -d $AO -p tcp –dport $PO -j DNAT –to-destination $BI:$PI
iptables -t nat -A POSTROUTING -d $BI -p tcp –dport $PI -j SNAT –to $AI
iptables -A FORWARD -o $AII -d $BI -p tcp –dport $PI -j ACCEPT
iptables -A FORWARD -i $AII -s $BI -p tcp –sport $PI -j ACCEPT