LXC: как работает эта сеть?

209
limit2001

Я не понимаю, почему я могу пинговать между 10.0.3. * И 192.168.1. *, Если они находятся в разных подсетях. Я ищу это, но я не нахожу ничего, что разъясняет это мне. Буду признателен за любую помощь, документы, диаграммы. Спасибо.

Это мой ifconfig

lo Link encap:Bucle local  Direc. inet:127.0.0.1 Másc:255.0.0.0 Dirección inet6: ::1/128 Alcance:Anfitrión ACTIVO BUCLE FUNCIONANDO MTU:65536 Métrica:1   lxcbr0 Link encap:Ethernet direcciónHW 68:14:01:xx:xx:xx  Direc. inet:10.0.3.1 Difus.:10.0.3.255 Másc:255.255.255.0 Dirección inet6: fe80::883d:xx:xx:xx/64 Alcance:Enlace ACTIVO DIFUSIÓN FUNCIONANDO MULTICAST MTU:1500 Métrica:1   vethB8L38G Link encap:Ethernet direcciónHW 68:14:01:xx:xx:xx  Dirección inet6: fe80::fcb4:xx:xx:xx/64 Alcance:Enlace ACTIVO DIFUSIÓN FUNCIONANDO MULTICAST MTU:1500 Métrica:1   wlan0 Link encap:Ethernet direcciónHW 68:14:01:xx:xx:xx  Direc. inet:192.168.1.68 Difus.:192.168.1.255  Másc:255.255.255.0 Dirección inet6: fe80::6a14:xx:xx:xx/64 Alcance:Enlace ACTIVO DIFUSIÓN FUNCIONANDO MULTICAST MTU:1500 Métrica:1 

И мой IP-маршрут

default via 192.168.1.1 dev eth0 proto static  10.0.3.0/24 dev lxcbr0 proto kernel scope link src 10.0.3.1  192.168.1.0/24 dev wlan0 proto kernel scope link src 192.168.1.68 metric 9 

мой контейнер LXC IP 10.0.3.43

0

1 ответ на вопрос

1
grawity

почему я могу пинговать между 10.0.3. * и 192.168.1. *, если они находятся в разных подсетях

По той же причине, по которой вы можете пропинговать весь Интернет, даже если он находится в разных сетях и подсетях. Между ними есть маршрутизаторы, которые соединяют эти сети.

Здесь ваша система Linux действует как маршрутизатор между ними (потому что она подключена к сетям 192.168.1.0/24 и 10.0.3.0/24, и, вероятно, в sysctl включена переадресация IP ).


Там есть еще один вопрос - почему вы можете получать ответы от устройств 192.168.1.0/24, без необходимости явно указывать им, какой шлюз использовать для адресов 10.0.3.0/24.

Я подозреваю, что для того, чтобы это работало, любая настроенная программа lxcbr0также включала SNAT (маскирование) через iptables - тот же тип NAT, что и домашний маршрутизатор, - так что внешние хосты думают, что они проверяются с помощью 192.168.1.68.

Поэтому, если я понимаю, когда я пингую google.com из контейнера (IP 10.0.3.43), он проходит через шлюз 10.0.3.1 и оттуда система Linux действует как маршрутизатор и отправляет его через любой сетевой интерфейс на маршрутизатор. 10.0.3.43 -> 10.0.3.1 -> Система Linux -> wlan0 -> Маршрутизатор limit2001 5 лет назад 0