Добавьте статический IP-адрес в Ubuntu 16.04 Host Laptop
У меня ноутбук HP с внешним адаптером Wi-Fi, так как нет встроенного адаптера Wi-Fi.
Это мое ifconfig
результат
docker0 Link encap:Ethernet HWaddr 02:42:fc:cf:ad:7c
inet addr:172.17.0.1 Bcast:172.17.255.255 Mask:255.255.0.0
UP BROADCAST MULTICAST MTU:1500 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:0 (0.0 B) TX bytes:0 (0.0 B)
eno1 Link encap:Ethernet HWaddr 10:e7:c6:7c:81:c3
UP BROADCAST MULTICAST MTU:1500 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:0 (0.0 B) TX bytes:0 (0.0 B)
lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
inet6 addr: ::1/128 Scope:Host
UP LOOPBACK RUNNING MTU:65536 Metric:1
RX packets:6880 errors:0 dropped:0 overruns:0 frame:0
TX packets:6880 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:580042 (580.0 KB) TX bytes:580042 (580.0 KB)
virbr0 Link encap:Ethernet HWaddr 00:00:00:00:00:00
inet addr:192.168.122.1 Bcast:192.168.122.255 Mask:255.255.255.0
UP BROADCAST MULTICAST MTU:1500 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:0 (0.0 B) TX bytes:0 (0.0 B)
wlx502b73e86298 Link encap:Ethernet HWaddr 50:2b:73:e8:62:98
inet addr:192.168.43.254 Bcast:192.168.43.255 Mask:255.255.255.0
inet6 addr: fe80::a85:c587:3653:359/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:53032 errors:0 dropped:0 overruns:0 frame:0
TX packets:45991 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:42520401 (42.5 MB) TX bytes:6912557 (6.9 MB)
Я беру мой IP 192.168.43.254
и адаптер Wi-Fi есть wlx502b73e86298
Теперь, когда я подключаюсь к другому WIFI, мой IP меняется на
192.168.0.106
Могу ли я сохранить статический IP, скажем, 192.168.0.10
и независимо от того, какой WIFI я подключен, он должен работать нормально?
Я пробовал следующую конфигурацию в
sudo nano /etc/network/interfaces
auto wlx502b73e86298
iface wlx502b73e86298 inet static
address 192.168.0.10
netmask 255.255.255.0
gateway 192.168.0.1
dns-nameservers 8.8.4.4 8.8.8.8
И чем запустить эти команды
sudo ip addr flush wlx502b73e86298
sudo systemctl restart networking.service
Теперь, если я сделаю ifconfig
Я вижу свой IP как 192.168.0.10
но ping google.com
не работает, и я не могу получить доступ к Интернету.
Почему мне нужен статический IP, потому что у меня в Docker запущено несколько контейнеров, и все они указывают на Host IP. Если IP-адрес хоста меняется, я должен изменить IP-адрес в каждом контейнере.
1 ответ
Использовать свой локальный хост? 127.0.0.1.
Вам нужно будет привязать ваши док-контейнеры к localhost, используя что-то вроде "docker run -d -p 127.0.0.1:80:5000 base/theApp python theApp.py".
Если это не вариант, который вы можете использовать, у вас есть два варианта.
Лучшее решение - привязать ваш mac-адрес к вашему ip на всех dhcp-серверах.
Если у вас нет доступа к конфигурации dhcp-сервера, вам нужно использовать dhcp (динамическая настройка) и подчиненный интерфейс со статическим ip. Просто не забудьте проверить это с владельцем вашей сети, иначе это может привести к ошибкам дублирования сетевого адреса. На этом сайте уже есть тема. Askubuntu.com
Просто добавьте interface:[interface no], чтобы добавить другую конфигурацию интерфейса.
Пример:
auto lo eth0 eth0: 0 iface lo inet loopback
iface eth0 inet dhcp
iface eth0: 0 статический адрес inet... маска сети...