天天看點

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 配置規則如下:

繼續閱讀