1. 程式人生 > >Linux雙網絡卡NAT共享上網

Linux雙網絡卡NAT共享上網

linux雙網絡卡NAT共享上網

術語字彙

  • 私有IP地址(路由不可達地址)是一個被用於本地區域網的IP地址(在網際網路中不可見)。
  • 公用IP地址(路由可達地址)是一個在網際網路中可見的IP地址。
  • IP偽裝是一項允許一系列機器通過MASQ閘道器連線網際網路的功能。這些MASQ閘道器之外的機器在網際網路中是不可見的。MASQ之後的機器中任何流入或流出的資料必須經過MASQ閘道器。
  • 網路地址轉換(NAT)是一項通過IP偽裝技術可以使私有IP地址訪問網際網路的功能。

硬體要求

  • 一臺有兩個介面(一個公有IP地址和其他的私有IP地址)的linux主機,這個主機將被用作閘道器。
  • 一臺或者多臺擁有私有IP地址的linux/windows系統的PC或者筆記本。
  • 交換機/集線器(可選)。

伺服器設定:

1、啟用IP轉發

為了設定網路共享,你需要在linux主機上更改一個核心引數來使能IP轉發功能。核心啟動引數設定在/etc/sysctl.conf檔案中。開啟這個檔案,定位到含有# net.ipv4.ip_forward = 0的這一行,移除#號(即取消註釋),然後將其值設定為1。
你還要使啟用IP轉發功能生效,通過執行下面的命令:

sysctl -w net.ipv4.ip_forward=1
sysctl -p

或使用下面的命令臨時生效,重啟後失效

echo "1" > /proc/sys.Net/ipv4/ip_forward #開啟IP轉發,1表示轉發;0
表示不轉發

2、NAT配置

另一個網路共享的重要部分是NAT配置,這可以通過使用iptables的命令,iptables包含四個防火牆的規則表:

  • FILTER (預設表格)
  • NAT
  • MANGLE
  • RAW

這個教程中我們將僅使用兩個表格:FILTER和NAT表格。
首先,重新整理所有活躍的防火牆的規則。

iptables -X
iptables -F
iptables -t nat -X
iptables -t nat -F

在輸入表格中,你需要設定轉發鏈(FORWARD)成可接受的(ACCEPT)目的地,因此所有通過主機的資料包將會被正確的處理。

iptables -I INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
iptables -I FORWARD -m state --state RELATED,ESTABLISHED -j ACCEPT

在NAT表中,你必須為你的WAN口啟用IP偽裝功能,我們假設WAN口協議是ppp0。為了在ppp0介面上使能IP偽造技術,我們使用以下的命令:

iptables -t nat -I POSTROUTING -o ppp0 -j MASQUERADE

或使用下面簡單的命令是:

iptables -F
iptables -P INPUT ACCEPT
iptables -P FORWARD ACCEPT
iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE #開啟NAT

客戶端設定

網路拓補結構:(192.168.1.0/24可以連線Internet,閘道器192.168.1.1)

1、NAT方法:

伺服器:兩網絡卡的設定:
eth0:192.168.1.10 掩碼:255.255.255.0 閘道器:192.168.1.1 #可以連線Internet相聯
eth1:192.168.2.1 掩碼:255.255.255.0 #與區域網相聯
客戶機:192.168.2.10/24 閘道器:192.168.2.1 #與eth1同一網段,閘道器為eht1

2、網橋方法:

eth0:0.0.0.0 #無IP -->br0
eth1:0.0.0.0 #無IP -->br0
br0:eth0:192.168.1.10 掩碼:255.255.255.0 閘道器:192.168.1.1
客戶機:192.168.1.10/24

ifconfig eth0 0.0.0.0 up  #網橋工作於資料鏈路層,不需要IP
ifconfig eth1 0.0.0.0 up
brctl addbr br0 #新增一個網橋
brctl addif br0 eth0
brctl addif br0 eth1 #將eth0 eth1加到網橋中去
ifconfig br0 192.168.1.10.Netmask 255.255.255.0 broadcast 192.168.1.255 up #給網橋分配IP地址,如果不做NAT,也不需要遠端訪問網橋的話,可以不設IP地址,但必須啟用網橋(ifconfig br0 up)
route add default gw 192.168.1.1 #如果網橋不需要訪問其他機器的話,可以不新增閘道器。

配置感想:
按照NAT的方法,很快配置完成,並且可以順利上網。對於那些對於網路配置沒什麼特殊要求的使用者,可以選用NAT方法,簡單實用。

另外,無線區域網共享wifi,需要hostapd搭建無線區域網,可以參考creat_ap.

✎﹏通訊運營傷/>>Gentooer/>>Archer/~