iT邦幫忙

第 12 屆 iT 邦幫忙鐵人賽

DAY 6
1
DevOps

不是工程師也能看懂的routing小技巧系列 第 6

該來實戰一下了吧--routing實戰

實戰情境

以下是routing的實戰,採用raspberry pi以ethernet接上netgear m2以取得網際網路連線,並啟用wlan0作為ap使用,同時接上usb乙太網路卡,與另一台raspberry pi相連,該raspberry pi也要啟用一個ap,如下圖所示
https://ithelp.ithome.com.tw/upload/images/20200912/201210391rsK56qmxF.png

進入routing

https://ithelp.ithome.com.tw/upload/images/20200912/20121039X58Idr6296.png
此時,netgeat Nighthawk m2使用DHCP配發IP給raspberry pi,網段為10.1.254.0/24,raspberry pi與raspberry pi之間使用固定IP相連,網段為192.168.1.0/24,上圖中左邊的raspberry pi 4(1)所配發的AP其網段為192.168.2.0\24,右邊的raspberry pi 4(2)所配發的網段為192.168.3.0/24,此時該如何建立這個連線呢?

raspberry pi 4(1)routing rule設定方法

使用hostapd將AP建立起來,由於在預設情況底下會自動建立default routing rule對於nighthawk m2,也就是

default via 10.1.254.253 dev eth0

其中10.1.254.253為Nighthawk M2的IP,也就是預設要往網際網路的路
此時要新增以下的routing rule,

  1. 192.168.1.0這條路要網eth1走,不能走eth0不然找不到raspberry pi 4(2)
  2. 192.168.2.0這條路要網wlan0走,不能走eth0不然找不到raspberry pi 4(1)所建立的AP底下的設備
  3. 192.168.3.0這條路要走eth1,而且要透過raspberry pi 4(2)轉送,不然會送不到
192.168.1.0/24 dev eth1
192.168.2.0/24 dev wlan0 src 192.168.2.1
192.168.3.0/24 via 192.168.1.2 dev eth1

raspberry pi 4(2)routing rule設定方法

raspberry pi 4(2)就比較簡單一點,預設的東西全部都丟給raspberry pi 4(1)就好,不過他還是要顧好自己家的AP,因此routing會變成下列這樣。

default via 192.168.1.1 dev eth0
192.168.1.0/24 dev eth0
192.168.3.0/24 dev wlan0 src 192.168.3.1
192.168.2.0/24 via 192.168.1.1 dev eth0

奇招淫巧

如果不要用routing的話有一個很簡單的做法,可以讓所有機器在同一個網段下,也就是br-lan,簡而言之即是把網卡bridge起來,raspberry pi 4(1)將eth0(接M2的乙太網路)、eth1(USB網卡)、wlan0都bridge起來,raspberry pi 4(2)的eth0以及wlan0bridge起來,此時所有裝置都會變成在同一個subnet底下,接受nighthawk的DHCP封包,此招用在layer2的switching,也就是不要有router來跟你指路到別的地方了,把大家都搬到忠孝東路上,只要大家都在忠孝東路上,就不用使用router來轉送封包了(去網際網路的nighthawk m2還是要活著才行)。


上一篇
那就敲敲甲板 讓大魚開路
下一篇
IPv6怎麼知道路上的router是誰?
系列文
不是工程師也能看懂的routing小技巧30

尚未有邦友留言

立即登入留言