设为首页 收藏本站
查看: 1524|回复: 1

[经验分享] linux iptables 实现nat映射

[复制链接]
累计签到:222 天
连续签到:1 天
发表于 2017-12-27 11:10:20 | 显示全部楼层 |阅读模式
本帖最后由 niyoudeyulj 于 2017-12-27 11:27 编辑

一、环境信息
   可以连接外网的物理机,内网IP:192.168.124.10(eth0)  外网IP:10.0.81.82(eth1)
        内网的物理机1,内网IP:192.168.124.81(eth0)
        内网的物理机2,内网IP:192.168.124.82(eth0)
  拓扑图:      iptables.png

     如上图,只有外网的可以上网,内网的机器是无法上网的,我们在外网机器上设置iptables规则,实现nat映射,使外网的机器可以直接访问内网的服务器,内网服务器也可以上网。
二、iptables nat概念
      本文主要讲iptables nat功能,其它相关iptables功能就不详细讲了,还请谅解。
       SNAT :源地址转换,改变数据包的源地址;防火墙会使用外部地址,替换数据包的本地网络地址,这样使网络内部主机能够与网络外部通信
       DNATDNAT策略与SNAT策略非常相似,只不过应用方向反过来了。SNAT用来修改源地址IP,而DNAT用来修改目标IP地址,目标端口;SNAT只能用在nat表的POSTROUTING链,而DNAT只能用在nat表的PREROUTING链和OUTPUT链中。
      SNAT用于内网机器上网,DNAT主要实现外网IP和内网IP 一一映射
三、DNAT设置
      以下命令都在外网机器上设置
      1、需要开启ip_forward,实现转发
      echo 1 > /proc/sys/net/ipv4/ip_forward
      sysctl -w net.ipv4.ip_forward=1
     2、为防止其它iptbales 规则有影响,先全部清空;如果确认没问题,可以不用清空规则
      iptables -F  
     iptables -t nat -F  
     iptables -t mangle -F  
     iptables -X  
     iptables -t nat -X  
     iptables -t mangle -X    
     iptables -A INPUT -i lo -j ACCEPT  
     iptables -A OUTPUT -o lo -j ACCEPT  
     iptables -P INPUT ACCEPT  
     iptables -P OUTPUT ACCEPT  
     iptables -P FORWARD ACCEPT    
    3、设置dnat规则
    给外网eth1网卡多配置两个IP
    ifconfig eth1 eth1:1  10.0.81.101 netmask 255.255.0.0
    ifconfig eth1 eth1:2  10.0.81.102 netmask 255.255.0.0
    设置 10.0.81.101映射成192.168.124.81,10.0.81.102映射成192.168.124.82
    iptables -t nat -A PREROUTING -d 10.0.81.101 -j DNAT --to-destination 192.168.124.81
    iptables -t nat -A POSTROUTING -d 192.168.124.81 -j SNAT --to 192.168.124.10

    iptables -t nat -A PREROUTING -d 10.0.81.102 -j DNAT --to-destination 192.168.124.82
    iptables -t nat -A POSTROUTING -d 192.168.124.82 -j SNAT --to 192.168.124.10
4、检查映射是否成功,映射成功,没有问题
          验证.png
四、SNAT设置
      设置DNAT以后,可以通过映射的IP访问内网的机器,但是内网的机器无法上网,需要设置SNAT
       网.png
    1、外网配置SNAT
    iptables -t nat -A POSTROUTING -s 192.168.124.0/24 -o eno2 -j SNAT --to-source 10.0.81.82
   2、内网机器配置网关
      在外网配置完成以后,需要更改内网机器的网关,否则还是不同
       route delete -net 0.0.0.0
       route add default gw 192.168.124.10 dev eth0
  3、检查,成功
         通.png
通过以上设置,可以实现IP nat 映射,也可以实现内网上网,如有疑问,请联系。

评分

参与人数 1金币 +20 收起 理由
admin + 20 很给力!

查看全部评分


运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-428558-1-1.html 上篇帖子: Linux下安装pip 安装了musicbox,结果... 下篇帖子: pxe,dhcp获取不到
累计签到:222 天
连续签到:1 天
 楼主| 发表于 2017-12-27 11:16:57 | 显示全部楼层
发表完,有些图没了,有问题,再叫我吧

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表