Linuxのネットワークはブリッジ、イーサネット、ボンディングなどの種類がありインターフェイスの追加/削除、接続の有効化/無効化、DHCP/IP固定などオプションもたくさんあり覚えるのが面倒くさく敬遠していました。今回、Proxmoxへの仮想化環境のマイグレーションするなかで使って覚えたネットワークコマンドをまとめてみました。
● まずはネットワークの疎通を確認するpingです。
DNSが障害を起こしていると「Name or Service Not Known」(ゲートウェイがない、ネームサーバーが設定されていないなど。)
ネットワークが障害、不達だと「Destination Unreachable」(ネットワークインターフェイスが無効、経路がないなど。)
# ping www.google.com
.
● デバイスのMACアドレスやプライベートIP、ゲートウェイを調べる ip a
# ip a
.
● 接続を有効化/無効化にするには
# ip link set <INTERFACE_NAME> up
# ip link set <INTERFACE_NAME> down
.
● デバイスの名前を変えるには
# ip link set <INTERFACE_NAME> name <NEW_INTERFACE_NAME>
.
● nmcli コマンドは現在のネットワーク接続の状態を確認したり変更したりできます。
# nmcli d (divice) s (show)
# nmcli c (connection) s (show)
.

.
● 一番お世話になったのはnmcli です。(インターフェイスを追加(add)したりIP固定(manual)したりゲートウェイを設定したり)
# nmcli c (connection) add ens192 type ethernet con-name ens192
# nmcli c (connection) delete ens192
# nmcli c (connection) m (modify) ens192 ipv4.method manual
# nmcli c (connection) m (modify) ens192 ipv4.address 192.168.1.200/24
# nmcli c (connection) m (modify) ens192 ipv4.gateway 192.168.1.1
ワンライナーで書くと
# nmcli c m ens192 ipv4.method manual ipv4.address 192.168.1.200/24 ipv4.gateway 192.168.1.1
.
● インターフェイスの接続を自動にするには connection.autoconnect yes でこれをしないと再起動すると繋がらなくなったりするので要設定です。
# nmcli c m ens192 connection.autoconnect yes
.
● DNSやドメインの設定は nmtui コマンドがグラフィティカルで簡単です。
# nmtui
.

.
● Rocky Linux, AlmaLinuxなどFedora系では/etc/sysconfig/network-scripts/ifcfg-ensXXXファイルでHWADDR(macアドレス)を編集します。
# vi /etc/sysconfig/network-scripts/ifcfg-ens192
TYPE=Ethernet PROXY_METHOD=none BROWSER_ONLY=no BOOTPROTO=none IPADDR=192.168.1.200 PREFIX=24 GATEWAY=192.168.1.1 DNS1=XXX.XXX.XXX.XXX DNS2=YYY.YYY.YYY.YYY DOMAIN=domain.tld DEFROUTE=yes IPV4_FAILURE_FATAL=yes IPV6INIT=yes IPV6_AUTOCONF=yes IPV6_DEFROUTE=yes IPV6_FAILURE_FATAL=no IPV6_ADDR_GEN_MODE=default NAME=ens192 UUID=*******-****-****-****-************ HWADDR=xx:xx:xx:xx:xx:xx DEVICE=ens192 ONBOOT=yes
# systemctl restart NetworkManager
.
● Ubuntuでは /etc/netplan/50-cloud-init.yaml を使ってmacアドレスを編集します。
# vi /etc/netplan/50-cloud-init.yaml
# /etc/netplan apply
.

.