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服務器之網絡應用