Linux下配置iptables实现外网访问内网KMS服务器

来源:互联网 发布:mysql navicat 破解版 编辑:程序博客网 时间:2024/06/06 08:59

转载地址: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.开启内核转发,重启后还原
[plain] view plain copy
  1. echo 1 > /proc/sys/net/ipv4/ip_forward  

2.执行如下四条iptables规则
# 用DNAT作端口映射,PREROUTING是让外网转成内网,两者两者搭配使用
[plain] view plain copy
  1. 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是让内网转成外网,两者搭配使用
[plain] view plain copy
  1. iptables -t nat -A POSTROUTING -d 10.1.1.27 -p tcp --dport 1688 -j SNAT --to 10.1.1.42  
# 一些人经常忘了打开FORWARD链的相关端口,特此增加
[plain] view plain copy
  1. iptables -A FORWARD -o eth0 -d 10.1.1.27 -p tcp --dport 1688 -j ACCEPT  
  2. iptables -A FORWARD -i eth0 -s 10.1.1.27 -p tcp --sport 1688 -j ACCEPT  

3.保存iptables规则
[plain] view plain copy
  1. /etc/init.d/iptables save  

4.检查配置结果
[plain] view plain copy
  1. iptables -t nat -L  

5重启iptables
[plain] view plain copy
  1. service iptables restart  

6.查看状态
[plain] view plain copy
  1. service iptables status  

7.测试访问
[plain] view plain copy
  1. vlmcs -v -l W7 202.120.2.110:1689  
0 0
原创粉丝点击