美文网首页Network
Linux中使用iptables配置NAT网络地址转换

Linux中使用iptables配置NAT网络地址转换

作者: 刘小白DOER | 来源:发表于2021-04-28 21:42 被阅读0次

        最近笔者在使用腾讯云服务器时,发现运行ip addr或者ifconfig命令时,只有一个网络适配器配置了私网IP地址,而没有公网IP地址。但是笔者是通过公网IP地址远程ssh到腾讯云服务器,那么公网IP地址是在哪里设置的呢?

        查看腾讯云文档中心的说明:转换,公有 IP 地址通过网络地址转换( NAT )映射到实例的内网IP地址。腾讯云的所有公网接口统一由 Tencent Gateway(TGW)进行处理。腾讯云云服务器实例的公网网卡在统一接口层 TGW 上配置,云服务器无感知。所以,用户在云服务器中通过 ifconfig (Linux) 命令查看网络接口信息时,只能查看到内网的信息。

        既然有公网IP地址来通信,那么直接取消 NAT转换,将腾讯云服务器配置为公网IP地址可以吗?腾讯云文档也有说明的,“腾讯云机房均由底层万兆/千兆互联,提供带宽高、时延低的内网通信服务,且同地域下内网通信完全免费,帮助您灵活构建网络架构。”在应用服务器构建了服务后,与数据库服务器可以使用内网来通信,更加灵活部署,同时内部网络通信快速,也保障了数据库的安全。

        现在笔者也来测试搭建一个NAT服务器。实验环境:

    centos8:外网enp0s3 IP地址192.168.31.167,内部 enp0s8 IP地址192.168.56.103

    ubuntu20:内部enp0s4  IP地址192.168.56.107

    整个配置过程概括如下:

    1、开启网关主机的路由转发功能

    2、添加使用SNAT策略的防火墙规则

    centos8服务器设置:

    1、修改/etc/sysctl.conf配置文件,添加net.ipv4.ip_forward = 1 ,打开路由转发功能。

    2、将配置文件保存之后,用sysctl -p 使其参数生效。

    3、SNAT是源地址转换,其作用是将ip数据包的源地址转换成外网IP地址。

    iptables -t nat -A POSTROUTING -j SNAT --to- source 172.18.72.183

    ubuntu20客户端配置:

    1、配置IP地址,重要的是 broadcast要设置为centos8服务器的内网IP地址。

    sudo ifconfig enp0s4 192.168.56.107  broadcast 192.168.56.103 netmask 255.255.255.0 up

    2、测试效果,ping www.baidu.com 。

    相关文章

      网友评论

        本文标题:Linux中使用iptables配置NAT网络地址转换

        本文链接:https://www.haomeiwen.com/subject/dqbvrltx.html