iptables可以做到橋接嗎? - Linux

Quintina avatar
By Quintina
at 2019-09-10T00:31

Table of Contents

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
不知道有沒有其它建議? 或者有沒有比較推薦的文章可以閱讀
謝謝!

--
Tags: Linux

All Comments

Hardy avatar
By Hardy
at 2019-09-12T23:29
方法3: 你都掛成 br0 了,當然 dhcp 也是用 br0 去請求啊
就算你是 static ip 也是讓 br0 掛IP,不是他附屬的介面
Lucy avatar
By Lucy
at 2019-09-16T11:44
同樓上。原 po 你 bridge 都弄好了就不要管 eth0/eth1
David avatar
By David
at 2019-09-20T02:39
iproute2 的命令:ip l a br0 type bridge
ip a a 192.168.100.1/24 dev br0
Agatha avatar
By Agatha
at 2019-09-24T06:22
ip l s eth0 master br0;ip l s eth1 master br0
Hardy avatar
By Hardy
at 2019-09-27T03:44
ip l s up br0
Ursula avatar
By Ursula
at 2019-09-28T15:58
最後 dhcpd 介面用 br0
Suhail Hany avatar
By Suhail Hany
at 2019-10-01T23:18
感謝樓上兩位, 因為我有一邊是用p2p wlan去連接
Genevieve avatar
By Genevieve
at 2019-10-04T16:55
看了一下log應該是wpa嘗試用原先的interface去溝通
Eden avatar
By Eden
at 2019-10-09T12:39
可能我得想辦法把wpa裡面帶的interface也改成br0....XD
Madame avatar
By Madame
at 2019-10-12T04:06
建立br0介面並加入兩張網卡為成員以後,你的兩個device
Zora avatar
By Zora
at 2019-10-12T12:44
設定同個網段的IP就該通了,br跟ethx其實不需要設定IP
Audriana avatar
By Audriana
at 2019-10-14T19:48
有需要從Rpi上面發DHCP才需要設定br0的IP才對
Anonymous avatar
By Anonymous
at 2019-10-16T14:35
另外擬用iptable做的是路由而不是橋接

Raid-5炸掉和合理Raid組磁碟數量分配問題

Yedda avatar
By Yedda
at 2019-09-07T21:53
以 180 * 4TB HDDs 來說, 不知道原po 是 全部資料要用滿, 還是 希望做到最大化保護? 所謂商用級的備份作法, 就是 d-2-d-2-t (disk to disk to tape) 所以如果要純用 180顆 HDDs 來做備份 至少要做到 d-2-d 如果是我來做的話: 0) 希 ...

適合RPI架設的線上串流音樂伺服器

Faithe avatar
By Faithe
at 2019-09-07T14:17
入手了一部rpi4打算架設線上串流音樂伺服器,試/查過很多軟件和os,似乎只有subsonic 和emby 滿足我的需求: -能讀取samba 裏的音樂(音樂都放在另一部rpi的自製nas) -有專屬的android程式讓我在外面也可以串流聽音樂 可惜前者rpi的架構不能安裝,後者的android客戶端要付 ...

Raspberry Pi2 架router問題

Mary avatar
By Mary
at 2019-09-05T22:48
我目標的架構是 PC andlt;=有線網卡=andgt; 樹莓派2 andlt;=無線網卡=andgt; AP andlt;=andgt; Internet 參照的是這一篇教學 https://www.instructables.com/id/Share-WiFi-With-Ethernet-Po ...

新手Ubuntu版面調整問題

Yuri avatar
By Yuri
at 2019-09-05T09:00
https://i.imgur.com/H37mv7V.jpg 請問要怎麼把上方灰色深灰欄位變小和改顏色? 下方視窗淺灰色欄位變小? 感謝萬分 - ...

awk查詢access.log問題

Leila avatar
By Leila
at 2019-09-04T22:01
大家好,小弟有個問題想請教,因為想直接查詢出access.log不重複的ip 查到可以利用這個指令去查 awk and#39;{tmp[$1]} END {for (i in tmp) print i}and#39; access.log 這邊有個比較不理解的地方想請教各位大大 其中的 {tmp[$1 ...