皆さんこんにちは。mitu&KT&KWです。
8月に第9回目の勉強会を行いました。
前回の勉強会に引き続きネットワーク設定です!

■当日実施した内容
インターネットに接続するために今回調査した内容は下記の項番1~3になっています。
項番1~3は課員が事前にネットなどで調べてここが怪しい!と思ったところをみんなで調査しました。
項番4は結果的にインターネットに接続することができたので+αでTera Termに接続できるか確認してみました。

 1.Hyper-Vの設定でMACアドレスを静的にする
 2.HTTPのポート80を許可する
 3.IPアドレスの取得方法を変更する
 4.ローカルからリモートの仮想マシンに接続できるか確認

1.Hyper-Vの設定でMACアドレスを静的にする

MACアドレスとはすべての機器に割り当てられている固有の識別番号であり、
あなたの持っているPCやスマホ全てに割り当てられています。

IPアドレスが住所のようなものとよく例えられていますがMACアドレスは自分で例えるならマイナンバーのようなものですね。世界に一つだけの番号です。

なんとこのMACアドレスをHyper-V側と仮想マシン側で一致させないとインターネットに接続できないという記事を見つけたので早速試してみたいと思います。

まずは仮想マシン側でMACアドレスの確認を行いました。
MACアドレスを確認するためにAlma Linux側で「ifconfig」と「cat /etc/sysconfig/network-scripts/ifcfg-eth0 」を実行しました。

「ifconfig」はetherの部分でMACアドレスを確認できます。
etherはイーサネット(ethernet)のことです。

「cat /etc/sysconfig/network-scripts/ifcfg-eth0 」は「HWADDR」の部分でMACアドレスを確認できます。
「HWADDR」は「Hardware Address」の略です。

続いてHyper-V側の設定です。
Hyper-Vマネージャー → 仮想マシン選択 → 設定 → ネットワークアダプター高度な機能で確認できます。
問題なく仮想マシン側と一致していることが確認できたのでこの時点でこれが原因ではなさそうです。

あとはMACアドレスが動的になっています。
これではMACアドレスが不定期なタイミングで変更されてしまう可能性があるので動的→静的に変更し、設定反映のためにAlma Linuxを再起動しました。

再起動後、早速firefoxでGoogleに接続できるか試しましたが繋がりませんでした。
引き続き他の調査に当たります。

2.HTTPのポート80を許可する

原因を切り分けていく中でポートが空いていないから通信ができない可能性を考えました。
HTTPのポート80を許可するために、rootユーザでログインして「sudo firewall-cmd --permanent --add-port=80/tcp」コマンドを実行しました。

コマンドを実行した結果、successと表示されたので、ポートの許可は成功しました。

設定変更を反映させるために「sudo firewall-cmd --reload」コマンドを実行してfirewallをリロードします。

こちらもsuccessと表示されたのでリロードは成功です。

「firewall-cmd --zone=public --list-ports」コマンドでどのポートが空いているかを確認します。先述のコマンドを実行した結果、ポート80は空いていることが確認出来ました。ポート80が空いていることを確認した上でインターネットに接続しようとしたところ、接続できませんでした、、、

3.IPアドレスの取得方法を変更する

ポートが空いているにも関わらずインターネットに接続できなかったため、現在の設定を見直そうと考えました。
まず、IPアドレスの取得方法を固定取得にしていたため、「nmcli con mod eth0 ipv4.method auto」コマンドを実行し、自動取得に変更してみました。

コマンドを実行して、出力はありませんでしたが、特にエラーが出ていないのでこのまま設定変更を進めていきます。

前々回の勉強会でIPアドレス、DNSアドレス、デフォルトゲートウェイの値を設定したため、自動取得設定をするにあたり下記のコマンドで設定値を一度初期化するコマンドを実行しました。
IPアドレスの値を初期化するコマンド:「nmcli con mod eth0 ipv4.addresse ""」
ゲートウェイの値を初期化するコマンド:「nmcli con mod eth0 ipv4.gateway ""」
DNSの値を初期化するコマンド:「nmcli con mod eth0 ipv4.dns ""」

上記画像でエラーが出ていますが、IPアドレスの設定値を削除時にDNSやゲートウェイとの整合性チェックを内部的にしており、警告が出ているだけで正常に処理は進んでいるため問題ありません。

IPアドレスを固定設定から自動取得設定に変更したため、デバイスを再起動します。
「nmcli con mod down eth0 ; nmcli con up eth0」コマンドで再起動を行い、変更した設定を反映します。

デバイスを再起動するコマンドを上記画像の通り実行したところ、接続が正常に有効化されたと出たにも関わらず「不明な接続 ‘down’」というエラーが出ました。
そのため、正常にIPアドレスを自動取得する設定が反映されているか、「nmcli -f ipv4 con show eth0」コマンドで確認しました。

コマンドの実行結果では、ipv4.methodが「auto」になっており、IPアドレスを自動取得する設定になっていたので、上記エラーは問題ないと考えました。

IPアドレスの自動取得設定が完了したため、インターネットに接続できるか確認したところ、問題なくインターネットに接続できました。

インターネットに接続できるか3回の勉強会に渡り確認していたので、ようやく解決しスッキリしました!

4.ローカルPCからリモートの仮想マシンに接続できるか確認

インターネットに接続できるようになったので、併せてSSH接続ができるか確認しました。TeraTerm(※1)で接続してみます。
リモートのコンピュータに接続するために必要なソフトウェアであるsshをインストールしました。
(※1)リモートのデバイスやコンピュータに接続や操作をするために使用するソフトウェアのこと

sshのインストールを先の項番で行ったため、「dnf list installed | grep -i openssh」コマンドでインストールされているか確認しました。

sshが抽出されたため、問題なくインストールできていることを確認しました。
Tera Termでリモートのコンピュータに接続できるか確認したところ、
サーバーに接続できなかったので、若干モヤモヤが残った状態で終了しましたが、仮想環境内ではインターネットに接続できたのでひとまず良かったです。

■感想


IPアドレスを静的→動的に戻すことでインターネットに接続できたことについて、私たちは理解しきれていない部分もあったのですが、無事接続できたので良かったということで一段落つきました。
Linux入門である初心者の壁を一人では難しくともみんなで乗り越えれたような気がします。
次回もどこかでお会いしましょう。

The following two tabs change content below.

mitu

愛知県出身で社会人になる際に関東に住み始めました。 趣味はリズムゲーム、歌を歌うこと、たまにプログラミングをすることです。 一度IT業界を離れましたが再度やりたいと思い、日々精進しながら挑戦しております。