Недавно я заменил сетевой адаптер, и теперь Discourse не работает. Я пытался пересобрать Discourse, но он всё равно не отвечает на HTTPS-запросы. Я вижу, что процессы Ruby запущены и работают.
Кажется, проблема может быть связана с MAC-адресом. После пересборки Discourse я вижу эту строку:
Однако в системе нет адаптера с MAC-адресом, начинающимся на 02:3b. Я вижу три адаптера: vethec9f10b с адресом, начинающимся на 6e:a2, ens160 с адресом, начинающимся на 00:0c, и docker0 с адресом, начинающимся на 02:42:eb:XX:XX:XX.
Предполагаю, что это старый MAC-адрес, оставшийся до замены сетевого адаптера. Если так, как мне указать Discourse использовать правильный MAC-адрес? Похоже, что это MAC-адрес сетевого адаптера Docker, но он, видимо, изменился.
При использовании Docker у вас появляется дополнительный виртуальный адаптер, представляющий адрес вашего сервера на виртуальном мосте docker0:
○ → ip addr show dev docker0
3: docker0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default
link/ether 02:42:3a:ad:0b:94 brd ff:ff:ff:ff:ff:ff
inet 172.17.0.1/16 brd 172.17.255.255 scope global docker0
valid_lft forever preferred_lft forever
У всех запущенных контейнеров Docker будет свой MAC-адрес на этом виртуальном мосту:
○ → docker run --rm --name example -it debian
root@ba1b0e1446c8:/#
(в другом окне:)
○ → docker inspect example | jq '.[0].NetworkSettings.IPAddress'
"172.17.0.2"
○ → docker inspect example | jq '.[0].NetworkSettings.MacAddress'
"02:42:ac:11:00:02"
○ → ping -c 1 172.17.0.2 > /dev/null; arp 172.17.0.2
Address HWtype HWaddress Flags Mask Iface
172.17.0.2 ether 02:42:ac:11:00:02 C docker0
Это полностью независимо от ваших системных интерфейсов. Однако этот MAC-адрес должен отображаться на мосту docker0:
○ → brctl showmacs docker0
port no mac addr is local? ageing timer
1 02:42:ac:11:00:02 no 187.24
…
Что именно вы изменили, когда «поменяли сетевой адаптер»?
Получает ли он по-прежнему IP-адрес и всё, что должно быть? То есть работает ли обычная сеть?
Огромное спасибо! Это был именно тот совет, который мне был нужен. Когда я изменил сетевой адаптер, статический IP-адрес машины сменился на динамический, из-за чего она перестала отвечать клиентам. Я сбросил IP-адрес, и всё заработало. Похоже, проблема была не в MAC-адресе, а именно в IP-адресе.