Ubuntu 22.04로 업그레이드한 후 ifupdown 및 systemd-resolved를 사용할 때 DNS가 손상됨

Ubuntu 22.04로 업그레이드한 후 ifupdown 및 systemd-resolved를 사용할 때 DNS가 손상됨

긴 이야기 짧게

sudo cp -p /etc/network/if-up.d/resolved /etc/network/if-up.d/.resolved.broken-orig

#Edit /etc/network/if-up.d/resolved and take out the extraneous quotes on lines 48 and 52
#The fix looks like:
diff /etc/network/if-up.d/.resolved.broken-orig /etc/network/if-up.d/resolved
48c48
< "$DNS"="$NEW_DNS"
---
> $DNS="$NEW_DNS"
52c52
< "$DOMAINS"="$NEW_DOMAINS"
---
> $DOMAINS="$NEW_DOMAINS"

적어도 이것은 효과가 있는 것 같습니다.


최근 이전 시스템을 Ubuntu 22.04.1 LTS로 업그레이드했는데 do-release-upgradeDNS 문제가 발생했습니다. 오류 메시지는 다음과 같습니다.

nslookup google.com
Server:     127.0.0.53
Address:    127.0.0.53#53

** server can't find google.com: SERVFAIL

그리고

/etc/network/if-down.d/resolved: 12: mystatedir: not found
/etc/network/if-up.d/resolved: 71: DNS: not found
/etc/network/if-up.d/resolved: 1: /run/network/ifupdown-inet-em1: DNS=8.8.8.8: not found
/etc/network/if-up.d/resolved: 2: /run/network/ifupdown-inet-em1: DOMAINS=local_search_domain.com: not found
Failed to parse DNS server address: DNS
Failed to set DNS configuration: Invalid argument

nslookup시스템 업그레이드가 /etc/network/interfaces에 정의된 네트워크 연결(em1)을 통해 실행을 시도하기 전입니다.

한동안 스스로 위로를 받은 후에 나는 발견했다.https://bugs.launchpad.net/ubuntu/+source/ifupdown/+bug/1981103그리고https://bugs.launchpad.net/ubuntu/+source/ifupdown/+bug/1910273이것은 나의 평온함을 향상시키는 데 도움이 됩니다. 발생한 오류는 /etc/network/if-up.d/resolved의 한 쌍 이상의 오타로 인해 발생하는 것으로 보입니다. 이는 불필요한 따옴표를 수동으로 제거한 후 텍스트 편집기를 사용하여 쉽게 수정할 수 있습니다. 네트워크를 시작할 수 있습니다. 인터페이스하고 DNS 서버에 쿼리합니다. ifupdown현재 Ubuntu 22.04.1 LTS(0.8.36+nmu1ubuntu3)와 함께 제공되는 패키지나 위에서 설명한 수동 편집에 다른 문제가 있는지 확실하지 않습니다 . /etc/network/if-up.d/resolved의 48행과 52행 편집을 포함하지 않는 문서화된 수정 사항이 있습니까? 아니면 이것이 현재 Ubuntu 22.04.1 LTS로 업그레이드된 이전 시스템에 사용할 수 있는 최선책입니까? 해결책?

답변1

Ubuntu 서버를 실행하여 18.04->22.04이 문제에 직면했습니다. 명확하게 지적했듯이(감사합니다!) /etc/network/if-up.d/resolved인용된 변수 2개를 다음과 같이 업데이트하고 삭제합니다.

sudo vim /etc/network/if-up.d/.resolved.broken-orig

Old: "$DNS"="$NEW_DNS"
-->
New: $DNS="$NEW_DNS"

Old: "$DOMAINS"="$NEW_DOMAINS"
-->
New: $DOMAINS="$NEW_DOMAINS"

다시 시작하면 이 문제가 해결됩니다.

관련 정보