计算机网络探究一之利用双网卡主机共享上网
綜述
大家好,這次我們需要實現的是實現雙網卡主機共享上網,就是一臺主機通過連接另一臺可以訪問外網的雙網卡主機來正常上網。所以我們需要兩臺機器來進行測試,在這里我們用的是兩臺Ubuntu 14.04,其中一臺是單網卡,一臺是雙網卡。廢話不多說,行動起來吧。
配置系統
博主使用了Vmware來安裝了兩臺Ubuntu主機,一臺當路由機,名稱是Ubuntu Route,另一臺是客戶機,名稱是Ubuntu Desktop,具體的網絡配置如下:
Ubuntu Route:
一個網卡eth0通過NAT方式來與外部主機共享上網,這個網卡也就是VMnet8網卡,網段是192.168.231.0
另一個網卡eth1連接了一個自定義的僅主機模式的網卡VMnet2,網段是192.168.122.0
網絡適配器設置如下,eth0開啟了DHCP,ech1沒有開啟DHCP
Ubuntu Desktop:
一個網卡eth0連接剛才那個自定義的僅主機模式的網卡VMnet2,網段是192.168.122.0
好了,以上就是基本硬件的配置
設置IP
接下來我們設置一下Ubuntu Route的IP地址,修改 /etc/network/interfaces
auto lo iface lo inet loopback auto eth0 iface eth0 inet dhcp auto eth1 iface eth1 inet static address 192.168.122.4 netmask 255.255.255.0| 1 2 3 4 5 6 7 8 | auto lo iface lo inet loopback auto eth0 iface eth0 inet dhcp auto eth1 iface eth1 inet static address 192.168.122.4 netmask 255.255.255.0 |
在這里,eth0因為我們在VMware里面設置了DHCP,所以這里我們設置dhcp即可,eth1需要手動配置一下,我們分配了 192.168.122.4 這個IP地址,當然你可以隨意指定,子網掩碼如上,不需要寫網關,因為它本身作為一個路由。
可以通過執行如下命令來使之生效
sudo /etc/init.d/networking restart| 1 | sudo /etc/init.d/networking restart |
如果上述方法不行,則可以嘗試使用關閉網卡和開啟網卡的命令。
sudo ifup eth0 sudo ifdown eth0| 1 2 | sudo ifup eth0 sudo ifdown eth0 |
eth1的開啟和關閉同上
開啟路由轉發
修改?/etc/sysctl.conf 文件,將
net.ipv4.ip_forward=1| 1 | net.ipv4.ip_forward=1 |
這一行取消注釋,代表開啟了路由轉發功能。
也可以通過執行
echo 1 > /proc/sys/net/ipv4/ip_forward| 1 | echo 1 > /proc/sys/net/ipv4/ip_forward |
命令來實現
設置iptables規則
iptables是非常重要的一個環節,如果大家不熟悉,可以去搜相關資料了解一下。
執行如下命令,來設置一下iptables規則,可以直接在命令行逐條執行,也可以寫成一個腳本來執行。
iptables -F iptables -t nat -F iptables -t mangle -F iptables -P INPUT ACCEPT iptables -P FORWARD ACCEPT iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE| 1 2 3 4 5 6 | iptables -F iptables -t nat -F iptables -t mangle -F iptables -P INPUT ACCEPT iptables -P FORWARD ACCEPT iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE |
其中最后一條是最重要的,代表將數據包通過eth0網卡來轉發,也是IP偽裝的一個常用方法,有了這條指令,從eth1網卡流經的一些數據包可以通過eth0來轉發,這樣就相當于連通了兩個網卡,這樣與eth1網卡連接的主機便可以上網了。
客戶主機設置
因為客戶機的eth0連接了VMnet2網卡,而VMnet2網卡又與路由主機的eth1連接,我們只需要簡單設置一下IP地址就好了。
修改 /etc/network/interfaces
auto eth0 iface eth0 inet static address 192.168.122.5 netmask 255.255.255.0 gateway 192.168.122.4 dns-nameservers 119.29.29.29| 1 2 3 4 5 6 | auto eth0 iface eth0 inet static address 192.168.122.5 netmask 255.255.255.0 gateway 192.168.122.4 dns-nameservers 119.29.29.29 |
這里很重要的一個設置就是網關,設置成路由主機的IP地址。
設置完了同樣重啟一下網卡使其生效。
還可以選擇性設置下DNS服務器。
至此,所有配置都完成了,測試一下吧。
測試
我們在客戶機里打開瀏覽器,輸入隨意一個網頁測試一下。
嗯,客戶機可以正常上網啦,一切都是那么輕松加愉快!
如有問題,歡迎留言交流~
轉載請注明:靜覓 ? 計算機網絡探究一之利用雙網卡主機共享上網
總結
以上是生活随笔為你收集整理的计算机网络探究一之利用双网卡主机共享上网的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Android开发之2048安卓版
- 下一篇: 计算机网络探究二之利用PHP实现登录验证