네트워크 어댑터를 변경한 후 Discourse에 연결할 수 없음

최근 네트워크 어댑터를 변경했는데 이제 discourse가 작동하지 않습니다. discourse를 다시 빌드해 보았지만 여전히 https 요청에 응답하지 않습니다. ruby 프로세스가 실행 중임을 확인할 수 있습니다.

이 문제는 MAC 주소와 관련이 있을 것 같습니다. discourse를 다시 빌드한 후 다음 줄을 볼 수 있습니다:

> /usr/bin/docker run --shm-size=512m -d --restart=always -e LANG=en_US.UTF-8 -e RAILS_ENV=production -e UNICORN_WORKERS=5 -e UNICORN_SIDEKIQS=1 -e RUBY_GLOBAL_METHOD_CACHE_SIZE=131072 -e RUBY_GC_HEAP_GROWTH_MAX_SLOTS=40000 -e RUBY_GC_HEAP_INIT_SLOTS=400000 -e RUBY_GC_HEAP_OLDOBJECT_LIMIT_FACTOR=1.5 -e DISCOURSE_DB_SOCKET=/var/run/postgresql -e DISCOURSE_DB_HOST= -e DISCOURSE_DB_PORT= -e LETSENCRYPT_DIR=/shared/letsencrypt -e DISCOURSE_HOSTNAME=XXX -e DISCOURSE_DEVELOPER_EMAILS=XXX -e DISCOURSE_SMTP_ADDRESS=XXX -e DISCOURSE_SMTP_PORT=587 -e DISCOURSE_SMTP_USER_NAME=XXX -e DISCOURSE_SMTP_PASSWORD=XXX -e LETSENCRYPT_ACCOUNT_EMAIL=XXX -e DISCOURSE_MAXMIND_LICENSE_KEY=XXX -h XXX-app -e DOCKER_HOST_IP=172.17.0.1 --name app -t -p 80:80 -p 443:443 -v /var/discourse/shared/standalone:/shared -v /var/discourse/shared/standalone/log/var-log:/var/log -**-mac-address 02:3b:06:XX:XX:XX** local_discourse/app /sbin/boot

그러나 02:3b로 시작하는 MAC 주소를 가진 어댑터는 없습니다. 시스템에서 세 개의 어댑터를 확인했는데, vethec9f10b는 6e:a2로 시작하고, ens160은 00:0c로 시작하며, docker0은 02:42:eb:XX:XX:XX로 시작합니다.

이것은 네트워크 어댑터가 변경되기 이전의 오래된 MAC 주소인 것 같습니다. 그렇다면 discourse에 올바른 MAC 주소를 사용하도록 어떻게 설정해야 할까요? 이것은 docker 네트워크 어댑터의 MAC 주소처럼 보이지만 변경된 것 같습니다.

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 addr를 실행하여 접근하려는 주소가 여전히 동일한지 확인하세요.

출력을 여기에 붙여넣어 주세요.

클라이언트가 소켓에 연결은 되지만 응답을 받지 못합니까?

정말 감사합니다! 제가 필요했던 힌트였습니다. 네트워크 어댑터를 변경했을 때, 해당 머신의 정적 IP 주소가 동적 IP 주소로 바뀌어 클라이언트에 응답하지 않는 상태가 되었습니다. IP 주소를 초기화하자 정상적으로 작동하기 시작했습니다. 결국 MAC 주소보다는 IP 주소와 관련된 문제였던 것 같습니다.