[問題] iptables可以做到橋接嗎?

看板Linux作者 (′‧ω‧‵)時間6年前 (2019/09/10 00:31), 編輯推噓1(1014)
留言15則, 4人參與, 6年前最新討論串1/1
Dear all 小弟最近在玩Raspberry, 想要透過板子來做兩台電腦的橋接功能 爬文之後暫時用brctl可以做到兩個interface的橋接, 但是實作上還有一些不太優雅的地方. 想問問有沒有人有相關的經驗可以分享 [目標] 想要使不同 interface 上面的 Device A 可以跟 Device B 進行溝通 Device A <========> Raspberry <========> Device B eth0 eth1 * 分配 ip 給兩台 Device 是透過 DHCP 來完成 [嘗試做法I] 把 Device A 跟 Raspberry 配到 子網域 A (192.168.100.0) 192.168.100.100 192.168.100.1 (eth0) 把 Device B 跟 Raspberry 配到 子網域 B (192.168.111.0) 192.168.111.100 192.168.111.1 (eth1) 用 iptables 加入 forward 規則 => 理論可行...? 但是需要修改 Device A/B 的 routing rule, 否則會走 default gateway, 就不會透過 eth0/1進行溝通 因為不是全部的 Device 都有權限修改 routing table, 就放棄此作法了... [嘗試做法II] 把 Device A 跟 Raspberry 配到 子網域 A (192.168.100.0) 192.168.100.100 192.168.100.1 (eth0) 把 Device B 跟 Raspberry 配到 子網域 A (192.168.100.0) 192.168.100.101 192.168.100.2 (eth1) 用 iptables 加入 forward 規則 => Device A/B 沒辦法互相 ping 到 應該是 default routing rule 第一條 rule, 把 192.168.100.0 的 broadcast 全部丟給 eth0 了... [嘗試做法III] 把 Device A 跟 Raspberry 配到 子網域 A (192.168.100.0) 192.168.100.100 192.168.100.1 (eth0) 把 Device B 跟 Raspberry 配到 子網域 A (192.168.100.0) 192.168.100.101 192.168.100.2 (eth1) 等兩台 Device 配到 ip 後 用 brctl 加入一個 bridge br0 然後將 eth0 跟 eth1 加入 br0 把 eth0 / eth1 重設 ip 為 0.0.0.0 br0 分配 ip 為 192.168.100.3 => Device A 可以 Ping 到 Device B, 也可以 Ping 到 Raspberry 不過接下來 eth0 跟 eth1 的 DHCP 貌似就失效了... 比較暴力的方法就是當其中一邊斷線之後我就把 interface 全部幹掉重來 不過這樣也太不優雅了 xd 不知道有沒有其它建議? 或者有沒有比較推薦的文章可以閱讀 謝謝! -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 123.195.32.204 (臺灣) ※ 文章網址: https://www.ptt.cc/bbs/Linux/M.1568046683.A.EA9.html

09/10 06:31, 6年前 , 1F
方法3: 你都掛成 br0 了,當然 dhcp 也是用 br0 去請求啊
09/10 06:31, 1F

09/10 06:31, 6年前 , 2F
就算你是 static ip 也是讓 br0 掛IP,不是他附屬的介面
09/10 06:31, 2F

09/10 09:00, 6年前 , 3F
同樓上。原 po 你 bridge 都弄好了就不要管 eth0/eth1
09/10 09:00, 3F

09/10 09:02, 6年前 , 4F
iproute2 的命令:ip l a br0 type bridge
09/10 09:02, 4F

09/10 09:02, 6年前 , 5F
ip a a 192.168.100.1/24 dev br0
09/10 09:02, 5F

09/10 09:03, 6年前 , 6F
ip l s eth0 master br0;ip l s eth1 master br0
09/10 09:03, 6F

09/10 09:04, 6年前 , 7F
ip l s up br0
09/10 09:04, 7F

09/10 09:05, 6年前 , 8F
最後 dhcpd 介面用 br0
09/10 09:05, 8F

09/10 10:51, 6年前 , 9F
感謝樓上兩位, 因為我有一邊是用p2p wlan去連接
09/10 10:51, 9F

09/10 10:52, 6年前 , 10F
看了一下log應該是wpa嘗試用原先的interface去溝通
09/10 10:52, 10F

09/10 10:55, 6年前 , 11F
可能我得想辦法把wpa裡面帶的interface也改成br0....XD
09/10 10:55, 11F

09/12 00:34, 6年前 , 12F
建立br0介面並加入兩張網卡為成員以後,你的兩個device
09/12 00:34, 12F

09/12 00:35, 6年前 , 13F
設定同個網段的IP就該通了,br跟ethx其實不需要設定IP
09/12 00:35, 13F

09/12 00:36, 6年前 , 14F
有需要從Rpi上面發DHCP才需要設定br0的IP才對
09/12 00:36, 14F

09/12 00:39, 6年前 , 15F
另外擬用iptable做的是路由而不是橋接
09/12 00:39, 15F
文章代碼(AID): #1TTdvRwf (Linux)
文章代碼(AID): #1TTdvRwf (Linux)