因為網路是設定成bridge所以看到的來源ip都只會顯示172.17.0.1,這樣就無法知道192.168.x.x來源的ip
請教一下要怎麼從bridge改成host
這個問題不是bridge或host的問題,就算是橋接模式也可以知道正確的IP
然後我猜你這個是Adguard Home截圖,我也是橋接模式然後是正常的
你是synology nas docker嗎?
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綁入多網卡還是單網卡就好,這對伺服器的網路管理來說很靈活。
總之這篇的回答是對的。
正確的說法
網路是 host 跟 bridge 對於 server 認知 client 的 ip 有關。
但是實際上,看不到 client ip 的原因是 nat 或是透過 proxy。