#目的
Hyper-Vに作ったCentOS8の仮想マシンに固定IPを設定する
仮想マシンにTera Termで接続する
#環境
CentOS 8.1.1911
#手順
###現在の状態確認
●コマンドで状態を確認
# ip a
# ip a show dev eth0
eth0: inet 192.168.10.4/24
これで現在のプライベートIPアドレスがわかります。
ネットワークアドレス "192.168.10"
ホストアドレス "4"
※最後の"24"はプレフィックス長といい、先頭24ビットがネットワークアドレスであることを表す。
###設定ファイル編集
●インタフェース設定ファイルを以下のように編集します。
※書いてないパラメータはそのまま。
IPV6INIT="no"
#IPV6_AUTOCONF="yes"
#IPV6_DEFROUTE="yes"
#IPV6_FAILURE_FATAL="no"
#IPV6_ADDR_GEN_MODE="stable-privacy"
BOOTPROTO="none"
IPADDR=192.168.10.100
PREFIX=24
GATEWAY=192.168.10.1
DNS1=192.168.10.1
DNS2=8.8.8.8
IPV6は使わないのでIPV6INITを"yes"から"no"に変更しました。
ほかのIPV6絡みのパラメータは除きました。
・BOOTPROTO:
IPアドレスの指定方法 [none/dhcp/bootp]
固定IPを指定する場合は"none"、もしくは"static"でもいいみたいです。
・IPADDR:
指定するIPアドレス
さっきのネットワークアドレスに適当なホストアドレスつける。
・PREFIX:
プレフィックス長
これはたぶんNETMASKってパラメータでもどっちでもいいのかな?たぶん。。。
・GATEWAY:
ルーターのIP
・DNS
"8.8.8.8"はGoogle Public DNS
●設定してからネットワーク再起動
# systemctl restart NetworkManager
状態確認すると...
eth0: inet 192.168.10.100/24
###ipv6無効化
さっきの手順で再起動したあとで確認しても、inet6が設定されていました。
別に問題ないのかもしれませんが、設定で使わないとしたつもりだったので無効化します。
●以下のファイルを作成
net.ipv6.conf.all.disable_ipv6 = 1
net.ipv6.conf.default.disable_ipv6 = 1
●反映
# sysctl -p/etc/sysctl.d/disable_ipv6.conf
状態確認するとinet6が消えていました。
#確認
●設定したIPアドレスを入力
接続できました。
ひとまずこれで、やりたいことが出来たこととします。