iT邦幫忙

0

docker容器網路從bridge改成host

  • 分享至 

  • xImage

因為網路是設定成bridge所以看到的來源ip都只會顯示172.17.0.1,這樣就無法知道192.168.x.x來源的iphttps://ithelp.ithome.com.tw/upload/images/20230812/20161283YC7xJzy5kr.png
請教一下要怎麼從bridge改成host

圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

1 個回答

0
黃彥儒
iT邦高手 1 級 ‧ 2023-08-12 21:15:30

這個問題不是bridge或host的問題,就算是橋接模式也可以知道正確的IP
然後我猜你這個是Adguard Home截圖,我也是橋接模式然後是正常的

看更多先前的回應...收起先前的回應...
zoobllzz iT邦新手 5 級 ‧ 2023-08-12 21:17:21 檢舉

不不不 橋接是虛擬的網卡 host才是直通

黃彥儒 iT邦高手 1 級 ‧ 2023-08-12 21:18:17 檢舉

zoobllzz 你不信就算了,你加油!

zoobllzz iT邦新手 5 級 ‧ 2023-08-12 21:25:22 檢舉

你是synology nas docker嗎?

zoobllzz iT邦新手 5 級 ‧ 2023-08-12 21:25:23 檢舉

你是synology nas docker嗎?

froce iT邦大師 1 級 ‧ 2023-08-14 08:49:47 檢舉

host的直通是直接佔用主機的某個port,例如你主機今天80 port沒開,在container上建了一個80 port的web server,他就直接拿你主機的IP和主機的80 port通到container。

bridge模式下是docker會建立一個虛擬的switch,所有在這switch下的container都可以溝通,但會有自己的子網路。

然後linux下的docker可以直接用原本的linux bridge當這個虛擬switch,這個switch的網段會是你實體網卡的網段,所以某些NAS OS像unraid可以讓container直接有你網段的IP。

windows/MAC下的docker我就不清楚了。

對技術細節有興趣可以看下面的這篇。可以看到docker的bridge也是透過linux bridge去做的,所以可以直接拿實體網卡已經建好的bridge去用。
https://www.hwchiu.com/docker-network-model-lab.html

通常NAS之類的多網卡伺服器為了頻寬合併和備援之類的,都會對網卡做bridge,看是要一個bridge綁入多網卡還是單網卡就好,這對伺服器的網路管理來說很靈活。

總之這篇的回答是對的。

obarisk iT邦研究生 2 級 ‧ 2023-08-14 12:12:35 檢舉

正確的說法

網路是 host 跟 bridge 對於 server 認知 client 的 ip 有關。

但是實際上,看不到 client ip 的原因是 nat 或是透過 proxy。

我要發表回答

立即登入回答