добраться до контейнера lxd из локальной сети

ОС: Ubuntu 15.10
LXD: 2.0.0.rc5

Я хотел бы знать, как получить доступ к контейнеру с другого компьютера в той же локальной сети.

Адрес моего ПК (хост LXD): 192.168.1.112 (enp3s0)
Контейнер Xenial: 10.0.3.181 (eth0), 10.0.4.1 (lxcbr0)
Другие ПК (Fedora 23): 192.168.2.118 (wlp3s0)

Я могу пинговать с другого ПК на хост LXD и так далее.

6
задан 25 March 2016 в 22:43

2 ответа

Необходимо сказать другой компьютер, как достигнуть контейнера, потому что другой компьютер находится на другой подсети, чем контейнер. Таким образом, необходимо настроить "маршрут". Ниже демонстрационный маршрут, который можно создать на другом компьютере. Это говорит, "для получения к контейнеру (.181) первым проходят хост (.112) использование устройства, которое находится в той же сети как хост (eth0). Если другой компьютер использует другое устройство, затем изменяются соответственно. Обратите внимание, что этот маршрут не является постоянным; это будет не , переживают перезагрузку. Google, чтобы найти, как настроить постоянный маршрут.

sudo ip route add 10.0.3.181 via 192.168.1.112 dev eth0
0
ответ дан 26 March 2016 в 08:43

Существует несколько различных способов выполнить то, что Вы хотите.

  1. Вперед требуемые порты от хоста до гостя
  2. сети Route
  3. устройства Моста

Опции 1 и 2 требуют, чтобы передача IP была включена на хосте:

# run time:
sudo sysctl -w net.ipv4.ip_forward=1

# permanent:
echo 'net.ipv4.ip_forward = 1' | sudo tee /etc/sysctl.d/30-virt-network

Самый Легкий 1, если Вы хотите получить доступ к определенному сервису как http (порт 80) на госте (Вы получаете доступ к гостевому порту 80 с хостом ip-address+port), но Вы не можете выполнить сервисы хоста на тот же самый порт.

# on lxd host: (-i HOSTDEVICE to lan, usually enp3s0 or eth0)
sudo iptables -t nat -A PREROUTING -i enp3s0 -p tcp -m tcp --dport 80 -j DNAT --to 10.0.3.181:80
# making this permanent is left to the reader (because that depends on your choice of fw setup)

Опция 2 более хитра и зависит от того, насколько можно изменить сеть.

Проверка, которая (sudo iptables -L -n) говорит, что цепочка ВПЕРЕД (политика ПРИНИМАЮТ) или sudo iptables -I FORWARD -s 192.168.2.118 -j ACCEPT позволяют его конкретно. Теперь или на сетевом брандмауэре направляют 10.0.3.0/24 к Вашим 192.168.1.112 хостам или тесту с маршрутом на 192.168.2.118.

sudo ip route add 10.0.3.181 via 192.168.1.112 dev wlp3s0

опция Third принесла бы Вашим lxd гостям к Вашей LAN как часть LAN. См. Инструкция преобразовать eth0 (enp3s0 в Вашем случае) для образования моста , как сделать это. Короче говоря:

  1. Создают устройство моста на хосте
  2. , Добавляют eth0 или enp3s0 к тому мосту
  3. , адрес узла Набора для образования моста (не enp3s0)
  4. Связывает lxd гостевые устройства с тем мостом

    stop network-manager
    brctl addbr br0
    brctl addif br0 enp3s0
    ifconfig enp3s0 up
    ifconfig br0 up
    dhclient br0
    lxc profile edit default
      - change lxcbr0 to br0
    
0
ответ дан 26 March 2016 в 08:43
  • 1
    Да, теперь проверьте последний night' s журнал поворачивают состояние. Будет некоторая подсказка, связанная с вращением или пропуском определенного файла из-за некоторой причины – v_sukt 4 July 2017 в 16:44

Другие вопросы по тегам:

Похожие вопросы: