转自:http://blog.51cto.com/tong707/2050149

什么是NAT?


NAT(Network address translation)即网络地址转换,作为一种过渡解决手段,可以用来减少对全球合法IP地址的需求。简单的说,NAT就是在内部专用网络中使用内部地址,而当内部节点要与外界网络发生联系时,就在边缘路由器或者防火墙处,将内部地址转换成全局地址,从而使得在外部公共网(Internet)上使用一个和数个合法IP地址正常传输数据。

其中,这里的外网和内网是相对来讲的,下面假设能够访问互联网的网络为外网。




一、基础环境


1)实验环境

  • 一台Linux服务器(配置有两张网卡)

  • 一台PC机(一张网卡,IP为10.0.0.10)


2)网络环境

  • Linux服务器当做NAT服务器,负责将内网的流量转至外网,因此需要两张网卡,配置两个网络,以下称为外网内网

  • 内网中的网络可以设置为静态地址也可以配置DHCP服务器。

  • Linux中 ens160 为外网网卡,IP为 172.18.72.183

  • Linux中 ens192 为内网网卡,IP为 10.0.0.1


image.png




二、防火墙配置


1)让发送至内网网卡的数据全部通过

1
iptables -A FORWARD -i ens192 -j ACCEPT

^注: `ens192` 为内网网卡

image.png


2)修改数据报头信息

1
iptables -t nat -A POSTROUTING -s 10.0.0.0/24 -o ens160 -j MASQUERADE

^注: `10.0.0.0/24` 为内网网段, `ens160` 为外网网卡

或者

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

^注: `172.18.72.183` 为外网网卡地址





三、开启Linux的路由功能


1
2
echo 1 > /proc/sys/net/ipv4/ip_forward     # 打开路由功能
cat /proc/sys/net/ipv4/ip_forward          # 查看是否启用路由功能,结果为1,代表已启用,0代表未启用


image.png




四、检查连通性

在 Windows 上设置静态IP(10.0.0.10/24),网关设为 10.0.0.1 。

1
ping www.baidu.com

检测通过。


image.png


GitHub 加速计划 / li / linux-dash
13
2
下载
A beautiful web dashboard for Linux
最近提交(Master分支:4 个月前 )
186a802e added ecosystem file for PM2 5 年前
5def40a3 Add host customization support for the NodeJS version 5 年前
Logo

AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。

更多推荐