Получите доступ к Raspberry Pi из докер-контейнераLinux

Ответить
Anonymous
 Получите доступ к Raspberry Pi из докер-контейнера

Сообщение Anonymous »

У меня есть хост Ubuntu с двумя Ethernet-интерфейсами: один подключен к Интернету, другой — к Raspberri Pi.
Цель: добраться до Raspberri Пи из моего контейнера (

Код: Выделить всё

ssh 169.254.1.25). Я не могу использовать хост-сеть Docker, поскольку она противоречит другим моим требованиям.
Это соответствующие IP-адреса, которые я тестирую:
[list]
[*]192.168.178.1
мой маршрутизатор в WLAN
[*]

Код: Выделить всё

192.168.178.155
мой хост в моей WLAN
[*]

Код: Выделить всё

169.254.1.25
мой Raspberry Pi подключен к интерфейсу Ethernet на хосте Linux
[*]

Код: Выделить всё

169.254.1.100
: второй интерфейс eth на моем хосте (тот, который подключен к Raspberry Pi)
[*]: известный хостинг в Интернете.
[*]

Код: Выделить всё

172.70.0.1
: docker0 на хосте (мост, созданный docker)
[*]

Код: Выделить всё

172.70.0.2
: veth в контейнере (созданном docker)
[/list]
Хост Ubuntu может пинговать все: Мой докер-контейнер, запущенный в по умолчанию (Docker подключает мост docker0), получает следующие интерфейсы:
  • eth0: 172.70.0.2
  • lo: 127.0.0.1
Контейнер может пинговать: Но у нее есть проблемы с:< /p> Это таблица маршрутизации на хосте:

Код: Выделить всё

» 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
На хосте включена переадресация IP:

Код: Выделить всё

» 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
Таблица маршрутизации хоста четко определяет, что делать, когда он видит пакет с назначением 169.254.1.x: отправить его на интерфейс, подключенный к Raspberri Pi. >
Почему тогда не работает? Маршрутизация включена!

Подробнее здесь: https://stackoverflow.com/questions/786 ... -container
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Linux»