Контейнерный порт / сервис, доступный со всех IP-адресов хоста с настраиваемым мостом док-станции, связанным с псевдонимом IPv4 на Synology NAS
Добрый день всем.
У меня есть вопрос относительно Docker на NAS-устройстве Synology (Linux).
У меня есть контейнер Ubiquity Unifi Controller, работающий на этом NAS. (jacobalberti / unifi) Для этого образа необходимы определенные порты, которые должны быть доступны сети для связи с оборудованием Unifi. Идея состоит в том, чтобы сделать этот контейнер доступным через IP-адрес, отличный от того, за которым работают все службы NAS.
Я не сетевой инженер и имею ограниченные знания о возможностях и подводных камнях, связанных с сетью, но я провел небольшое исследование и обнаружил, что есть несколько возможностей:
-Карта портов 1: 1 на IP-адрес хоста, например:
docker run-p 192.168.1.3:8443:8443
Создайте сеть Docker Bridge и привяжите ее к определенному IP-адресу хоста, например:
docker network create --driver=bridge --gateway=10.0.0.1 \ --subnet=10.0.0.0/24 --ip-range=10.0.0.2/24 \ -o "com.docker.network.bridge.name"="br_UUC" \ -o "com.docker.network.bridge.host_binding_ipv4"="192.168.1.3" UUC_bridge
Я решил создать мостовую сеть, поскольку эта сеть отображается в интерфейсе Synology Docker, и таким образом я все еще могу управлять контейнером в этом графическом интерфейсе.
После создания новой сети я могу связать контейнер с мостовой сетью UUC_bridge и выполнить сопоставление портов 1: 1.
Я ожидаю, что смогу получить доступ к порту 8443 контейнера за IP-адресом 192.168.1.3, в то время как IP-адрес хоста NAS 192.168.1.2 имеет свободный порт 8443 или используется другой службой.
Теперь мне нужен способ иметь второй IP-адрес 192.169.1.3 на сетевом адаптере хоста. Поскольку мне не нужны изолированные сети, я думаю, что VLAN не являются решением. Я читал, что им также понадобится другой сетевой драйвер докера. (Macvlan)
Я создал псевдоним на сетевой карте NAS, выполнив следующую команду:
ifconfig eth0:0 192.168.1.3 up netmask 255.255.252.0 name UUC
(Я делаю это перед созданием Docker Bridge)
Я знаю, что есть другие способы сделать это с помощью ip address add
, но старый способ все еще работает.
Neworks отображаются как: eth0 и eth0: 0 ifconfig
UUC_bridge ifconfig
и конфиг моста: сеть докера проверяет UUC_bridge
Теперь о проблемах, с которыми я сталкиваюсь:
В netstat
я нахожу запись, которая выглядит как:tcp6 0 0 :::8443 :::* LISTEN 0 6783321 -
Теперь кажется, что, глядя на вывод ifconfig, мостом является IPv6. Я не знаю, как работает связывание IPv4 <> IPv6, но я бы сказал, что это не должно быть проблемой, потому что я сказал Docker, что он должен связать мост с этим одним IPv4-адресом 192.168.1.3.
Теперь я могу получить доступ к интерфейсу UUC через 192.168.1.3:8443. Дело в том, что я также могу получить доступ к тому же интерфейсу UUC через 192.168.1.2:8443. Я не хочу этого, и я не понимаю, почему он это сделал.
Возможно, контейнер UUC использует 0.0.0.0 для предоставления 8443 всем интерфейсам хоста (контейнера), но я настроил мост так, чтобы он был просто связан с IPv4-адресом 192.168.1.3.
Кто-нибудь знает, что мне здесь не хватает?
Другая проблема, с которой я сталкиваюсь, заключается в том, что все службы Synology, похоже, используют 0.0.0.0 в качестве IP-адреса привязки порта, поэтому все службы Synology также доступны за 192.168.1.3. Есть ли способ удалить адрес 192.168.1.3 из группы IP-адресов хоста, с которой связан адрес 0.0.0.0 NAS?
Спасибо заранее!
0 ответов на вопрос
Похожие вопросы
-
9
В чем разница между командами "su -s" и "sudo -s"?
-
4
Требуется хороший бесплатный образ Ubuntu Server VMWare
-
4
Каковы различия между основными дистрибутивами Linux? Я замечу?
-
-
2
Ограничить использование процессора для Flash в Firefox?
-
2
Как мне заставить мой микрофон работать под Debian GNOME?
-
2
Конки установки - образцы / идеи?
-
2
Windows 7 Home Premium запоминает пароли общего доступа к сети?
-
3
Каковы различия между оконными менеджерами Linux?
-
5
Поделитесь XP сетевым подключением без перезагрузки?
-
5
Как мне сказать Windows использовать 802.11 вместо 3G?