# 靜態路由 static route 私有ip 使用私有位址作為來源或目的位址的封包,不能透過 Internet 來轉送。 私有 IP 就是企業內部 IP ,無法到外部網路使用。這是規定! 現在外部的網路設備,設定成,只要接收到私有 ip 的封包,就會直接丟棄。 私有 IP 想上網,要怎麼辦?NAT --- ## route 、bridge、 host only設定 * 架構圖 ![](https://i.imgur.com/HAMofUj.png) ## 1. 章魚燒機器設定2張網卡 * 新增第二張網卡 1.下方「Add」 2.「 Network adapter 」 3.「Finish」 ![](https://i.imgur.com/JSArfO0.png) 1.點選「 Network Adapter 2」 2.選擇「 Host-only 」 ![](https://i.imgur.com/gKzENG5.png) --- ## 2. 判斷 Host-only 模式的 network ID 在 Windows的命令提示字元輸入:**ipconfig** * **Host-only 模式 VMnet1 網卡** ![](https://i.imgur.com/28SLEiR.png) --- ## 3. 修改網路介面設定 **sudo nano /etc/network/interfaces** ``` auto iface lo inet loopback auto eth0 iface eth0 inet static address 120.96.143.147/25 gateway 120.96.143.254 auto eth1 iface eth1 inet static address 192.168.12.253/24 ``` * 新增host only 類似 「route」 的網卡 * 192.168.XXX.253 是從windows cmd 得到的(VMnet1網卡 「192.168.12.1」) * ==設192.168.12.253==是因為 「 **dhcp 占用的IP位置是.254,所以設置設為.253** 」 --- ## 4. 開啟封包轉送 ``` 1. ip_forward立即開啟(重新開機就會被清除): echo '1' | sudo tee /proc/sys/net/ipv4/ip_forward` 2. ip_forward永久開啟: echo 'net.ipv4.ip_forward = 1' | sudo tee -a /etc/sysctl.conf 3. 重啟 : sudo reboot ``` ## 5. 建立 H02虛擬機器、設定固定 IP [H02 虛擬機下載位置](https://drive.google.com/drive/folders/1G4BzqA4mvD_tBYDl3OSqZK8doMk20ImD) 1.開啟 Vmware Player 選擇 Open Virtual Machine 2.修改虛擬機名稱(H02) 「edit vm setting」> 「options」>「vm name」修改 3.修改網卡模式(Host-only) * VMnet1網卡為 「192.168.12.1」 * 所以 address , gw 設為 address : 192.168.12.==11== /24 gateway : 192.168.12.==253== =連回(章魚燒機器VMnet1網卡地址) 「11」前10個IP 留給server用 所以從11開始設 「253」後五後5個IP 留給網路設備用。**dhcp 占用的IP位置是.254,所以設置設為.253** ``` 1. 設定電腦名稱 : sudo nano /etc/hostname H02 2. 設定固定 IP sudo nano /etc/network/interfaces auto eth0 iface eth0 inet static address 192.168.12.11/24 gateway 192.168.12.253 3. 重新啟動虛擬機器 reboot ``` **設定好 : 「H02虛擬機」 > gw到 「自已章魚燒的 host only網卡」** ![](https://i.imgur.com/AfsdxQW.png) --- ## 6. 在章魚燒輸入 **sudo route add -net $對方H01 network_id netmask $子網路遮罩 gw $對方的章魚燒-bridge_ip** * H01 . H02 「network_id」「netmask」 查詢 ![](https://i.imgur.com/UA3YtrO.png) * **「D目的地:對方H01虛擬機network_id」 「對方章魚燒GW」** ![](https://i.imgur.com/VnDQH8e.png) `sudo route add -net 192.168.138.0 netmask 255.255.255.0 gw 120.96.143.146` -net 目的地 (對方的H01) netmask 對方的子網路遮罩 gw 要從哪個大門 另一台的大門bridge網卡 --- ## 7.Routing table 規則永久生效 ``` 1. sudo nano /etc/local.d/route_set.start 2. #!/bin/sh route add -net $同學的H01-network_id netmask $子網路遮罩 gw $同學的章魚燒-bridge_ip 3. sudo chmod +x /etc/local.d/route_set.start 4. sudo rc-update add local 5. sudo reboot ``` ## 8. 檢測 ping對方的h01 or h02 ping 192.168.138.11 * 1.若失敗用 H02虛擬機 ping自己 **「 H02 > hostonly網卡的 gw 」** ping 192.168.12.253 **「 H02 > 章魚燒虛擬機 bridge 」** ping 120.96.143.147 * 2. 封包有來有回 , 沒成功的話有可能對方的 route 、gw 沒設好 ###### tags: `tcp/ip`