Цель: добраться до Raspberri Пи из моего контейнера (
Код: Выделить всё
ssh 169.254.1.25). Я не могу использовать хост-сеть Docker, поскольку она противоречит другим моим требованиям.
Это соответствующие IP-адреса, которые я тестирую:
[list]
[*]192.168.178.1[*]
Код: Выделить всё
192.168.178.155[*]
Код: Выделить всё
169.254.1.25[*]
Код: Выделить всё
169.254.1.100[*]
Код: Выделить всё
8.8.8.8[*]
Код: Выделить всё
172.70.0.1[*]
Код: Выделить всё
172.70.0.2[/list]
Хост Ubuntu может пинговать все:
- мой роутер ()
Код: Выделить всё
192.168.178.1 - сам (оба 169.254.1.100 и 192.168.178.155)
- Raspberri Pi ()
Код: Выделить всё
169.254.1.25 - 8.8.8.8
- eth0: 172.70.0.2
- lo: 127.0.0.1
- сама (и 172.70.0.2)
Код: Выделить всё
127.0.0.1 - мой маршрутизатор ()
Код: Выделить всё
192.168.178.1 - мост docker0 ()
Код: Выделить всё
172.70.0.1 - хост, как он виден в WLAN ()
Код: Выделить всё
192.168.178.155 - хост на втором интерфейсе eth ()
Код: Выделить всё
169.254.1.100 - 8.8.8.8
- Raspberri Pi ()
Код: Выделить всё
169.254.1.25
Код: Выделить всё
» ip route
default via 192.168.178.1 dev wlp2s0 proto dhcp metric 600
169.254.1.0/24 dev enx000ec6a42183 proto kernel scope link src 169.254.1.100 metric 100
172.70.0.0/24 dev docker0 proto kernel scope link src 172.70.0.1
192.168.178.0/24 dev wlp2s0 proto kernel scope link src 192.168.178.155 metric 600
Код: Выделить всё
» sysctl net.ipv4.ip_forward
net.ipv4.ip_forward = 1
Код: Выделить всё
» docker network ls
NETWORK ID NAME DRIVER SCOPE
8e2d62a7186d bridge bridge local
4d041aedcd2a host host local
71278e64d14b none null local
Код: Выделить всё
root@8f50776e53dc:~# ip route
default via 172.70.0.1 dev eth0
172.70.0.0/24 dev eth0 proto kernel scope link src 172.70.0.2
Почему тогда не работает? Маршрутизация включена!
Подробнее здесь: https://stackoverflow.com/questions/786 ... -container
Мобильная версия