转自: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
10.39 K
1.2 K
下载
A beautiful web dashboard for Linux
最近提交(Master分支:2 个月前 )
186a802e added ecosystem file for PM2 4 年前
5def40a3 Add host customization support for the NodeJS version 4 年前
Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐