iptables P配置DNAT SNAT

本文介绍如何配置Linux防火墙实现内网服务器的HTTP服务穿透至外网。通过设置默认路由、开启IP转发、配置iptables规则等步骤,使得外网能够访问到位于内网的HTTP服务器。

内网的server 为HTTP,IP:10.0.0.85  linux防火墙FW有两个网卡,etho 192.168.122.11连接外网,eth1 10.0.0.250连接外网,拓扑如下:

在server上添加一条默认路由:

 

 
 
  1. [root@vm1 ~]# route add default gw 10.0.0.250 
  2.  开启HTTP  注意将不用的网卡down掉
  3. ifconfig eth1(lo) down

FW临时添加网卡eth1:

 
 
  1. [root@vm1 ~]# ifconfig eth0 10.0.0.250 netmask 255.255.255.0 up 

FW上开启内核IP转发:

 
 
  1. [root@vm1 ~]# cat /etc/sysctl.conf  
  2. net.ipv4.ip_forward = 1 
  3. [root@vm1 ~]# sysctl -p 
  4.  
 
 
  1. [root@vm1 ~]# iptables -F -t nat 
  2. [root@vm1 ~]# iptables -X -t nat 
  3. [root@vm1 ~]# iptables -Z -t nat 
  4. [root@vm1 ~]# iptables -t nat -P PREROUTING  ACCEPT 
  5. [root@vm1 ~]# iptables -t nat -P POSTROUTING ACCEPT 
  6. [root@vm1 ~]# iptables -t nat -P OUTPUT      ACCEPT 
  7. [root@vm1 ~]# iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 80 -j DNAT --to-destination  10.0.0.85 
  8. [root@vm1 ~]# /etc/init.d/iptables save 保存 
  9. iptables: Saving firewall rules to /etc/sysconfig/iptables:[  OK  ] 
  10. [root@vm1 ~]# /etc/init.d/iptables restart   重启 
  11. [root@vm1 ~]# /etc/init.d/httpd start 开启HTTP 
  12. Starting httpd:  

这样在外网的92.168.122.1就可以通过访问192.168.122.11去访问WEB server了

如果是FTP SERVER那么还得做个SNAT,如:

 
 
  1. [root@vm1 ~]# iptables -t nat -A POSTROUTING -o eth0 -j SNAT --to-source 192.168.122.1 
  2. [root@vm1 ~]# modprobe nf-nat-ftp 

本文转自 369蓝宝 51CTO博客,原文链接:http://blog.51cto.com/3739387/1157971,如需转载请自行联系原作者

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值