转载地址:http://blog.csdn.net/gsls200808/article/details/50364104
一、基本信息
要求通过访问外网的1689端口达到间接访问内网KMS服务器1688端口的目的。1688端口为KMS服务器默认端口。
外网机器:
内网 ip: 10.1.1.42 eth0
外网 ip: 202.120.2.110 eth1
端口: 1689(TCP端口)
内网机器
内网 ip: 10.1.1.27 eth0
端口: 1688(TCP端口)
二、配置
iptables 的配置文件是放在 /etc/sysconfig/iptables里的,使用类似WEB端口转发方案即可
1.开启内核转发,重启后还原
- echo 1 > /proc/sys/net/ipv4/ip_forward
2.执行如下四条iptables规则
# 用DNAT作端口映射,PREROUTING是让外网转成内网,两者两者搭配使用
- iptables -t nat -A PREROUTING -d 202.120.2.110 -p tcp --dport 1689 -j DNAT --to-destination 10.1.1.27:1688
# 用SNAT作源地址转换(关键),
将内部地址的私有IP转换成公网上的公有IP,网关的这个地址转换就是SNAT,
以使回应包能正确返回,
POSTROUTING是让内网转成外网,两者搭配使用
- iptables -t nat -A POSTROUTING -d 10.1.1.27 -p tcp --dport 1688 -j SNAT --to 10.1.1.42
# 一些人经常忘了打开FORWARD链的相关端口,特此增加
- iptables -A FORWARD -o eth0 -d 10.1.1.27 -p tcp --dport 1688 -j ACCEPT
- iptables -A FORWARD -i eth0 -s 10.1.1.27 -p tcp --sport 1688 -j ACCEPT
3.保存iptables规则
- /etc/init.d/iptables save
4.检查配置结果
- iptables -t nat -L
5重启iptables
- service iptables restart
6.查看状态
- service iptables status
7.测试访问
- vlmcs -v -l W7 202.120.2.110:1689