AlmaLinux 9でKVM Guestをブリッジ接続にした際、DNSが引けず、インターネットへの接続ができないという問題に直面した場合の解決方法について説明します。この問題は、DNS設定に関連したネットワークの設定や、ファイアウォール、sysctl設定の誤設定が原因で発生することがあります。
問題の確認と原因
質問者が遭遇している問題は、IPアドレスは正常に設定され、8.8.8.8にpingを打つと疎通できるにもかかわらず、名前解決(ping yahoo.co.jpやnslookup)ができないというものです。通常、このような問題は以下の原因が考えられます。
- DNSサーバーの設定が誤っている
- ネットワークのファイアウォールやフィルタリングによるDNS通信の遮断
- Sysctl設定の不備
このような問題を解決するために、いくつかの手順を試してみましょう。
1. DNS設定の確認
まずは、KVMゲストのDNS設定が正しく行われているかを確認します。ゲスト側の/etc/resolv.confファイルに、正しいDNSサーバー(例えば、Googleの8.8.8.8)が設定されているか確認しましょう。
- ファイルを開き、設定内容を確認します。
cat /etc/resolv.confを実行し、nameserver 8.8.8.8が記載されているか確認します。 - もし内容が異なっていれば、手動で修正します。
2. ファイアウォールの設定確認
ホストOSやゲストOSのファイアウォール設定が原因でDNSリクエストが遮断されている可能性があります。ゲスト側とホスト側両方のファイアウォールを確認し、必要に応じて設定を変更します。
- ホストOS側のファイアウォール(iptablesやfirewalld)の設定を確認し、DNSのポート(通常はUDP 53)が許可されているか確認します。
- ゲストOS側でも同様に、ファイアウォールの設定を確認して、必要であれば一時的に無効化してみます。
3. sysctl設定の確認
sysctl.dの設定ファイルに記載された設定が原因で、ブリッジ接続時のDNS通信に影響が出る場合があります。以下の設定が正しく反映されているか再度確認します。
- 設定ファイル:
/etc/sysctl.d/99-sysctl.conf - 以下の設定が含まれているか確認し、必要に応じて追加・修正します:
net.bridge.bridge-nf-call-ip6tables = 0net.bridge.bridge-nf-call-iptables = 0net.bridge.bridge-nf-call-arptables = 0 - 設定を変更した後、
sysctl -pで設定を反映させます。
4. ネットワーク設定の再確認
ネットワークのブリッジ接続設定が正しく行われているか再度確認します。ip aやbrctl showコマンドで、ブリッジインターフェースの状態を確認します。
- ゲストOSが正しくブリッジ接続されているか、
br0などのインターフェースが表示されるか確認します。 - ブリッジ接続の設定に問題があれば、再設定を試みます。
まとめ
AlmaLinux 9のKVM GuestでDNSが引けない問題は、DNS設定やファイアウォール、sysctl設定が原因で発生することがあります。上記の手順を試すことで、問題を解決できる可能性が高いです。設定を見直して、再度DNSが正常に動作するか確認してみましょう。


コメント