首页 > 代码库 > Linux双网卡搭建NAT服务器之网络应用

Linux双网卡搭建NAT服务器之网络应用

 

技术分享

一:拓扑、网络结构介绍

Eth1 外网卡的IP 地址, GW和DNS 按照提供商提供配置。配置如下:

IP:114.242.25.18

NETMASK:255.255.255.0 
GW:114.242.25.1

DNS:202106.0.20

DNS:202106.46.151

Linux 主机的 eth0 指向内网, IP 地址为: 172.100.10.1/24 。

Eth 0 
IP:172.100.10.1 
NETMASK:255.255.255.0

     内部办公区 IP 地址段是 172.100.10.X/24 段的 IP , eth0 的 IP 是所有内网主机的网关,而DNS 设置为 eth1网卡配置 的 DNS,我的内网办公电脑设置如下:

172.100.10.188 
NETMASK:255.255.255.0 
GW:172.100.10.1

DNS:202106.0.20

DNS:202106.46.151

二: 配置

1.开启转发

     以上配置完成后,办公终端 应该可以ping通Linux系统主机的eth0 的IP,因为他们是通过交换机链接的。但是,办公终端 ping不通Linux系统主机的eth1 的IP,应为并未开启Linux系统主机的转发功能。

开启Linux的转发功能,执行如下命令:

echo 1 > /proc/sys/net/ipv4/ip_forward

查看系统是否启用了转发功能,可以执行如下命令:

cat /proc/sys/net/ipv4/ip_forward

如果结果为1,代表已启用,0代表未启用。

开启转发后,就能ping 同ETH 1 的IP 地址和网关和DNS。

2.配置NAT规则

    经过上面配置后,虽然可以ping相关的IP地址,但是此时linux 服务器是可以上网,但是内网办公电脑还是无法上网。问题在于内网主机的IP地址是无法在公网上路由。因此我们只需将内网办公终端 的IP转换成Linux系统eth1 接口的IP。

3.配置的NAT

/sbin/iptables -P INPUT ACCEPT
/sbin/iptables -P OUTPUT ACCEPT
/sbin/iptables -P FORWARD ACCEPT
/sbin/iptables -t nat -P PREROUTING ACCEPT
/sbin/iptables -t nat -P POSTROUTING ACCEPT
/sbin/iptables -t nat -P OUTPUT ACCEPT

NAT 转换:

iptables -t nat -A POSTROUTING -s 172.100.10.0/24 -o eth1 -j MASQUERADE

也可以通过使用 SNAT target 实现:

iptables -t nat -A POSTROUTING -s 10.50.10.0/24 -o eth1 -j SNAT --to-source 114.242.25.18

FORWARD 配置规则如下:

iptables -A FORWARD -i eth0 -j ACCEPT

保证所有进入 eth0 的包都被 FORWARD 点 ACCEPT 。

经过以上的配置之后, 内网办公电脑就可以正常的访问外网了。

本文出自 “康建华” 博客,请务必保留此出处http://michaelkang.blog.51cto.com/1553154/788472

Linux双网卡搭建NAT服务器之网络应用