一條網路線連接兩台電腦分享網路(win10 & Ubuntu18.04)

使用情境:手邊沒有路由器或橋接器,網路來源是手機網路且只有一台電腦有無線網卡可接收wifi,另一台則只有有線網路孔(很可憐的情境…)。 實際上硬體配置如下圖一隻手機開熱點分享網路,主電腦接收wifi再透過網路線分享網路給客電腦

軟體設定主要都在主電腦完成,客電腦只要開啟網路設定也不管是哪個作業系統(至少win10或Ubuntu是哈)就會自動設定ip獲得網路了。

主電腦作業系統是win10的設定

開啟控制台>網路和網際網路>網路和共用中心 點擊wifi

開啟 內容 > 共用 勾選 允許其他網路使用者透過網路連線連線網路

理論上這樣網路分享設定就完成了,接著可以用指令查詢兩台電腦的網卡的ip確認。 主電腦是win10開啟命令提示字元 win10+R 輸入cmd開啟 輸入ipconfig

   連線特定 DNS 尾碼 . . . . . . . . :
   連結–本機 IPv6 位址. . . . . . . : fe80::29a9:40b:8afd:c22%18
   IPv4 位址 . . . . . . . . . . . . : 192.168.137.1
   子網路遮罩 . . . . . . . . . . . .: 255.255.255.0
   預設閘道 . . . . . . . . . . . . .:

無線區域網路介面卡 區域連線* 1:

   媒體狀態 . . . . . . . . . . . . .: 媒體已中斷連線
   連線特定 DNS 尾碼 . . . . . . . . :

無線區域網路介面卡 區域連線* 10:

   媒體狀態 . . . . . . . . . . . . .: 媒體已中斷連線
   連線特定 DNS 尾碼 . . . . . . . . :

無線區域網路介面卡 Wi-Fi:

   連線特定 DNS 尾碼 . . . . . . . . :
   IPv6 位址. . . . . . . . . . . . .: 2402:7500:567:7e71:a599:1a0e:acd8:4dd0
   臨時 IPv6 位址. . . . . . . . . . : 2402:7500:567:7e71:15a8:9c66:52a:73a7
   連結–本機 IPv6 位址. . . . . . . : fe80::a599:1a0e:acd8:4dd0%12
   IPv4 位址 . . . . . . . . . . . . : 192.168.43.73
   子網路遮罩 . . . . . . . . . . . .: 255.255.255.0
   預設閘道 . . . . . . . . . . . . .: fe80::2efd:a1ff:fea8:bb51%12
                                       192.168.43.11

乙太網路卡 藍牙網路連線:

   媒體狀態 . . . . . . . . . . . . .: 媒體已中斷連線
   連線特定 DNS 尾碼 . . . . . . . . :

我的客電腦作業系統是Ubuntu 在Terminal輸入ipconfig客電腦的有線網卡被分配一個ip了

enp2s0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500 
        inet 192.168.137.161  netmask 255.255.255.0  broadcast 192.168.137.255 
        inet6 fe80::cb36:f80:81e2:4850  prefixlen 64  scopeid 0x20<link> 
        ether 00:1f:c6:b9:c8:6f  txqueuelen 1000  (Ethernet) 
        RX packets 21474  bytes 12316961 (12.3 MB) 
        RX errors 0  dropped 0  overruns 0  frame 0 
        TX packets 17967  bytes 11523956 (11.5 MB) 
        TX errors 0  dropped 0 overruns 0  carrier 4  collisions 0 
  
lo: flags=73<UP,LOOPBACK,RUNNING>  mtu 65536 
        inet 127.0.0.1  netmask 255.0.0.0 
        inet6 ::1  prefixlen 128  scopeid 0x10<host> 
        loop  txqueuelen 1000  (Local Loopback) 
        RX packets 6749  bytes 730338 (730.3 KB) 
        RX errors 0  dropped 0  overruns 0  frame 0 
        TX packets 6749  bytes 730338 (730.3 KB) 
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

可以發現兩台電腦在同個網域192.168.137.XXX 但這裡有個問題,每次主電腦的win10重開機後設定都會消失即使” 允許其他網路使用者透過網路連線連線網路”是有勾選的,需要先取消勾選然後在勾選一次(這問題害我反覆花了很多時間…)


主電腦作業系統是Ubuntu

Ubuntu的設定我失敗好多次,試了一些方法都失敗,所以我要先介紹我失敗的過程哼哼。 從win10經驗來看主電腦的有線網卡ip的前三區段都一樣,最後一個才不一樣 所以原本想說就手動設定兩台電腦的ip 然後測試在主電腦終端機輸入指令 ping “客電腦的ip” 客電腦輸入 ping “主電腦ip” 結果兩台電腦成功接收到彼此的封包,但無法連接上網路 再來參考論壇的連接兩台電腦網路的作法 主客兩台電腦都在有線網路設定中IPv4都選擇“只有本機連線” 結果就跟手動指定效果類似,但連線狀態會是成功的 只是依然沒有網路 (很快抱怨完了…)

最後發現在ubuntu18.04以前的版本網路設定選項是有“分享到其他電腦”

youtube: How To Share Your WiFi Connection Over Ethernet in Ubuntu Linux
但在圖形界面中後來被隱藏起來了,但還是可以叫出來 方法為在主電腦按alt + F2
輸入指令: nm-connection-editor
可以叫出進階版的網路設定
在有線網路中IPv4方法設定為分享給其他電腦

客電腦則保持自動(DHCP)就好 *題外話如果是將wifi的方法改分享給其他電腦的話就是以電腦開啟熱點

參考資料