eth0-wlan0 使用 DHCPv4 客戶端和伺服器橋接 IPv6,不轉發/橋接 IPv4
請注意:這不是已經回答的“IPv6 橋接+IPv4 NATing”問題,而是“ eth0 上的 IPv6 橋接+ DHCPv4 客戶端+ wlan0 上的****DHCPv4 伺服器”問題。
對於 IPv4/IPv6 雙棧和純 IPv6 系統測試,我想使用 Linux 建構一個非常奇特的“路由器”。這個broter有兩個物理網路介面,eth0和wlan0。我正在使用一個橋接器 br0,我將 eth0 和 wlan0 連接到該橋接器上。
現在對於整體上下文:
eth0
將附加到:
- 具有提供前綴和 DNS 自動配置的 RA 的純 IPv6 基礎架構,或者
- 具有 IPv4/IPv6 路由器的 IPv6/IPv4“家庭”網路,提供 IPv6 前綴和 DNS 自動配置,以及用於地址和 DNS 自動配置的 DHCPv4。
wlan0
在接入點模式下工作,無線設備稍後將連接到該模式,例如智能手機。這些設備應獲得完整的 IPv6 連接,但只能獲得“有限的”(本地)IPv4 連接。也就是說,這些設備應該獲得一個私有 IPv4 地址,但在eth0
涉及 IPv4 時沒有任何橋接或路由。鑑於 IP 地址系列: - IPv6:這很簡單
ebtables
,因為我只需要在所有網橋埠之間啟用 IPv6 類型的乙太網幀的橋接。網橋本身使用通過 接收的 RA 獲取 SLAAC 地址eth0
,所有移動設備也一樣。- IPv4:現在這就是我現在有點迷茫的地方,因為我想實現這個有點棘手的行為: -如果有可用的 DHCPv4 伺服器,br0
應該從側面通過 DHCPv4 獲取自動配置的 IPv4 地址eth0
,否則回退到靜態 IPv4。所以目前有一個自動配置的 DHCPv4客戶端br0
。-應僅向連接的移動設備eth0
提供 DHCPv4伺服器。特別是網橋本地 DHCPv4客戶端不應從本地 DHCPv4伺服器獲取其 IPv4 配置。想要在 eth0 上安裝 DHCPv4 客戶端的理由是我需要 ssh 進入機器進行維護,最好在“家庭”網路環境中完成,但我需要在具有不同地址範圍的多個家庭網路之間切換,所以我不能使用靜態配置。
如何在同一主機上執行 DHCPv4 客戶端和伺服器,但讓它們為單獨的 IP 子網/“網段”提供服務?這可以使用 ebtables 實現嗎?為了實現我的目標,我是否需要將客戶端和伺服器連接到物理網路介面?如果是這樣,如何正確完成,如果這是明智的?
有時,添加硬體比努力讓軟體在意想不到的配置下工作更容易。這是一種逆向虛擬化。(物理化?)
在我的情況下,這意味著不再需要在
eth0
. 相反,我只是允許它聲明一個可選的eth1
或wlan1
用於維護/更新。接下來,在 DHCPv4客戶端不礙事的情況下,ISC DHCPv4伺服器愉快地接受綁定到wlan0
(!)——但不要將其綁定到br0
.因此,
br0
與發往該設備本身的 IPv6 流量一起使用,並且沒有任何 IPv4 地址。eth0
是一個物理網橋埠,也沒有任何 IPv4 地址。並wlan0
獲得一個靜態 IPv4 地址並在其上放置 DHCPv4 伺服器。對於更新,連接另一個eth1
或wlan1
併做你的工作。