如何把iptables外网端口全部映射到内网一台主机上(1)


利用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


相关内容