この記事でお話したいこと
- IPv4とIPv6のデュアルスタック
- nmcliを用いたネットワーク設定
- SwitchマイクラはIPv6に接続できないらしい?
- 生成AIを鵜呑みしてはいけない
内容
・はじめに:何が起きた?
・なぜ接続できないのか?原因はIPv6!
・試行錯誤1:PPPoEの罠
・試行錯誤2:nmcliでの設定と構築
・最終構成と結果
・学んだことと次への意気込み
何が起きた??
Switchの人がマイクラサーバーに接続できないことが判明した。
私自身がSwitchのマイクラで遊んだことがないので、外部のサーバーに接続するのが結構手順がいると知りませんでした。
しかもSwitchはどうやらIPv4通信しか対応していない?っぽいのです。
私の家は楽天ひかりのIPv6通信を主に利用しています。
なぜ接続できないのか?原因はIPv6!
IPv6クロスパス方式で通信してます。
これはIPv6の通信網を通って、IPv4の通信網にアクセスする方式です。
もっと身近な言い方をすると高速道路(IPv6)を通って、下道(IPv4)のお店に行くみたいな感じです。
例えば、自転車で高速道路は走れないですよね?
そういうことです。車とかに乗せて遠くの場所へ行く感じです。
詳しくはもっと正しく解説してくれてる人がいるので辿りつきましょう!
対策方針と試行錯誤のはじまり
IPv4でサーバーに接続できるようにしないといけません。
cmanでアドレスを見た時に問題なくIPアドレスが見えていたので、最初は気づけませんでした。
見えていても、IPv4から直接うちのサーバーにアクセスすることができません。
要はサービスエリアみたいな感じになっていました。
これを下道からも接続できるようにしないといけません。
ということでGeminiに相談しながらやってみました。
その前にもう一つ
実は最初はPPPoEパススルー機能でやっていました。
ただ、ネット接続に有線接続ができなくなり色々いじっていたら、Linuxのネットワーク設定を削除してしまいつながらなくなり、設定を一から作りました。
1. 有線接続の有効化とPPPoE接続
当初は管理無し状態だった有線LANポートを有効化し、LinuxマシンでインターネットへPPPoE接続することでした。
これはnmcliを用いて実現できました。
2. LANからの孤立とIPv6問題
PPPoE接続はできましたが、家庭内LANのプライベートIPアドレスを失いました。
このことから今までメインPCからSSH接続やRDP接続で操作していたことができなくなりました。
これは私の環境だとサーバーを置いてある場所で作業するのがちょっと面倒なので困りました。
また、IPv6へ接続できない問題も一緒に出てきました。
3. 設定の更地化と再構築
IPv6での通信も欲しかったので、改めてNetworkManegerで設定を追加して試みました。
ただ、そのたびにステータスバーでIPv6に通信できる設定に切り替えないといけませんでした。
そうすると今度はIPv4(PPPoE)に接続ができなくなり、困りました。
そこで新たに優先接続1というプロファイルを作成しました。
-
今回新たに設定した内容
-
IPv6: ルーターから自動でアドレスを取得する
autoモードに設定。 -
IPv4: SSH接続の安定化のため、ご指定の
192.168.11.37を静的に割り当てるmanualモードに設定。
-
IPv6: ルーターから自動でアドレスを取得する
-
ステップ1:既存設定の完全消去(更地にする)
まずは下記を実行しました。
過去の試行による設定の競合をなくし、クリーンな状態から始めるため。
# 過去に作成した可能性のあるプロファイルを全て削除
sudo nmcli con delete "My-PPPoE"
sudo nmcli con delete "Local-LAN"
sudo nmcli con delete "My-Internet"
sudo nmcli con delete "Wired-Connection-1"
sudo nmcli con delete "Ethernet 接続 1"
sudo nmcli con delete "Ifupdown (enp0s31f6)"
sudo nmcli con delete "IPv6-Connection"
-
ステップ2:単一プロファイル「有線接続1」の構築
IPv4とIPv6の両方を管理する、唯一のプロファイルを作成し、設定する。
# 1. プロファイルの器を作成
sudo nmcli con add type ethernet con-name "有線接続1" ifname enp0s31f6
# 2. IPv4設定:手動(マニュアル)で固定IPを割り当て
sudo nmcli con mod "有線接続1" ipv4.method manual ipv4.addresses 192.168.11.37/24 ipv4.gateway 192.168.11.1 ipv4.dns "8.8.8.8,8.8.4.4"
# 3. IPv6設定:自動(オート)でルーターからアドレスを取得
sudo nmcli con mod "有線接続1" ipv6.method auto
-
ステップ3:ネットワークの有効化と状態確認
設定をシステムに反映させ、意図通りに動作しているかを確認する。
# 1. 接続プロファイルを再起動して設定を適用
sudo nmcli con down "有線接続1"
sudo nmcli con up "有線接続1"
# 2. IPアドレスの割り当て状態を確認
ip a show enp0s31f6
# 3. IPv4とIPv6両方でのインターネット疎通を確認
ping -4 -c 3 www.google.com
ping -6 -c 3 www.google.com
4. 外部アクセス(ポートフォワーディング)の設定
最後に、外部からSSHやMinecraftサーバーにアクセスできるようにするため、2段階の関門を設定しました。
-
サーバー自身:
ufwを使い、特定のポート(22, 19132, 19133)へのアクセスを許可。 -
ルーター: 「ポートフォワーディング」機能で、外部から特定のポートに来た通信を、サーバーのプライベートIPアドレスに転送するよう設定。
この結果、セキュリティを確保しつつ、目的のサービスを外部に公開する構成が完成しました。(たぶん)
5. 最終的なネットワーク構成
終わりに:AIと技術と、自分で考えること
実際、IPv4とIPv6などのネットワークの仕組みをよく理解できていません。
サブネットマスクとかTCPプロトコルとかとか。。。
ただ、今回こういったことを色々試したり調べたりする中で分かってくるとすごく気持ちいいし、楽しいというのを久しぶりに感じました。
当初はなぜ有線LANでネットにつながらないのかをGeminiに聞いても物理的な故障だよと言われて、座礁していました。
LANポートは問題なく通電してるし、ついさっきまで出来たんだからと色々自分でも情報を集めて整理することで今回の課題の解決につながりました。
ハルシネーションというほどではないのかもしれませんが、やはりAIを鵜呑みにしないで自分から情報を探しに行くというのは大事だなと感じます。
次はマイクラBEでどうしても欲しいなって思った一括破壊アドオンの話でもしようかと思います。!
