利用iptables把外網連接埠全部映射到內網一台主機上,有具體的操作過程:
etc/init.d/iptables start 啟動iptables
初始化iptables,刪除之前的規則,
iptables -F
iptables -X
iptables -Z
iptables -F -t nat
iptables -X -t nat
iptables -Z -t nat
允許SSH進入,要不然等下就連不上去了
iptables -A INPUT -p TCP --dport 22 -j ACCEPT
設定預設出入站的規則
iptables -P INPUT DROP
iptables -P OUTPUT ACCEPT
iptables -P FORWARD ACCEPT
iptables -A INPUT -i lo -j ACCEPT
iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
載入相應的模組
modprobe ip_tables
modprobe iptable_nat
modprobe ip_nat_ftp
modprobe ip_conntrack
modprobe ip_conntrack_ftp
配置預設的轉寄規則
iptables -t nat -P PREROUTING ACCEPT
iptables -t nat -P POSTROUTING ACCEPT
iptables -t nat -P OUTPUT ACCEPT
允許內網串連
iptables -A INPUT -i 內網網卡名(比如eth1) -j ACCEPT
啟用轉寄功能
echo "1" > /proc/sys/net/ipv4/ip_forward
配置源NAT,允許內網通過主機nat上網,即所謂的網際網路共用
iptables -t nat -A POSTROUTING -s 內網網卡名 -o 外網網卡名 -j MASQUERADE
把FTP伺服器映射到外網
iptables -t nat -A PREROUTING -p tcp -d 58.222.1.3 --dport 21 -j DNAT --to 192.168.0.211:21
結束,別忘了儲存
service iptables save
192.168.0.211的網關應該設成這成主機192.168.0.1。這樣就行了。iptables -t nat -A PREROUTING -d XXX.XXX.XXX.XXX -p tcp --dport 8767 -j dnat --to 192.168.1.3:?? OUTPUT 二個 chain 作用。
iptables -A INPUT -i eth1 -j ACCEPT
iptables -A OUTPUT -o eth1 -j ACCEPT
iptables -A FORWARD -i eth1 -j ACCEPT
iptables -A FORWARD -o eth1 -j ACCEPT