初めに
このガイドでは、FreeBSD, Red Hat, Linux, macOSの各オペレーティングシステムでネットワークカードにIPアドレスを設定する方法、スタティックルートの設定、hostsファイルの編集、およびpingとtracerouteコマンドの使用方法について説明します。
ネットワークカードにIPアドレスを設定する方法:スタティックとDHCP
FreeBSD
設定ファイル
/etc/rc.conf
IPv4アドレスの設定方法
ifconfig em0 inet 192.168.1.100 netmask 255.255.255.0
IPv6アドレスの設定方法
ifconfig em0 inet6 2001:db8::100 prefixlen 64
DHCPの設定方法
ifconfig em0 inet dhcp
設定ファイルの編集例
echo 'ifconfig_em0="inet 192.168.1.100 netmask 255.255.255.0"' >> /etc/rc.conf echo 'ifconfig_em0_ipv6="inet6 2001:db8::100 prefixlen 64"' >> /etc/rc.conf echo 'ifconfig_em0="DHCP"' >> /etc/rc.conf
Red Hat (RHEL, CentOS)
設定ファイル
/etc/sysconfig/network-scripts/ifcfg-<interface>
IPv4アドレスの設定方法
nmcli con mod <connection_name> ipv4.addresses 192.168.1.100/24 nmcli con up <connection_name>
IPv6アドレスの設定方法
nmcli con mod <connection_name> ipv6.addresses 2001:db8::100/64 nmcli con up <connection_name>
DHCPの設定方法
nmcli con mod <connection_name> ipv4.method auto nmcli con up <connection_name>
設定ファイルの編集例(スタティック)
cat <<EOF > /etc/sysconfig/network-scripts/ifcfg-eth0 TYPE=Ethernet BOOTPROTO=none DEVICE=eth0 ONBOOT=yes IPADDR=192.168.1.100 PREFIX=24 IPV6ADDR=2001:db8::100/64 EOF
設定ファイルの編集例(DHCP)
cat <<EOF > /etc/sysconfig/network-scripts/ifcfg-eth0 TYPE=Ethernet BOOTPROTO=dhcp DEVICE=eth0 ONBOOT=yes EOF
Linux (一般的なディストリビューション)
設定ファイル
/etc/network/interfaces(Debian系)/etc/netplan/*.yaml(Ubuntu 18.04以降)
IPv4アドレスの設定方法
Debian系 (Debian, Ubuntu 16.04まで)
IPv4アドレスの設定方法
ifconfig eth0 192.168.1.100 netmask 255.255.255.0
IPv6アドレスの設定方法
ifconfig eth0 inet6 add 2001:db8::100/64
設定ファイルの編集例
cat <<EOF >> /etc/network/interfaces
auto eth0
iface eth0 inet static
address 192.168.1.100
netmask 255.255.255.0
gateway 192.168.1.1
iface eth0 inet6 static
address 2001:db8::100
netmask 64
gateway 2001:db8::1
EOF
Ubuntu 18.04以降 (Netplan)
sudo nano /etc/netplan/01-netcfg.yaml
設定ファイルの編集例
network:
version: 2
ethernets:
eth0:
dhcp4: no
addresses: [192.168.1.100/24]
gateway4: 192.168.1.1
nameservers:
addresses: [8.8.8.8, 8.8.4.4]
dhcp6: no
addresses: [2001:db8::100/64]
gateway6: 2001:db8::1
編集後に次のコマンドで適用します。
sudo netplan apply
macOS
設定ファイル
- 設定ファイルは特定の場所に保存されません。
networksetupコマンドを使用します。
IPv4アドレスの設定方法
sudo networksetup -setmanual "Ethernet" 192.168.1.100 255.255.255.0 192.168.1.1
IPv6アドレスの設定方法
ネットワークインターフェースの確認
networksetup -listallnetworkservices
スタティックルートの設定
FreeBSD
スタティックルートの追加
route add -net <ネットワーク> <ゲートウェイ>
例
route add -net 192.168.2.0/24 192.168.1.1 route add -net 2001:db8::/64 2001:db8::1
設定ファイル
- /etc/rc.conf
設定ファイルの編集例
echo 'static_routes="net1 net2"' >> /etc/rc.conf echo 'route_net1="-net 192.168.2.0/24 192.168.1.1"' >> /etc/rc.conf echo 'route_net2="-net 2001:db8::/64 2001:db8::1"' >> /etc/rc.conf
Red Hat (RHEL, CentOS)
スタティックルートの追加
ip route add <ネットワーク> via <ゲートウェイ>
例
ip route add 192.168.2.0/24 via 192.168.1.1 ip -6 route add 2001:db8::/64 via 2001:db8::1
設定ファイル
- /etc/sysconfig/network-scripts/route-<インターフェース名>
設定ファイルの編集例
cat <<EOF > /etc/sysconfig/network-scripts/route-eth0 192.168.2.0/24 via 192.168.1.1 2001:db8::/64 via 2001:db8::1 EOF
Linux (Debian系)
スタティックルートの追加
ip route add <ネットワーク> via <ゲートウェイ>
例
ip route add 192.168.2.0/24 via 192.168.1.1 ip -6 route add 2001:db8::/64 via 2001:db8::1
設定ファイル
/etc/network/interfaces
設定ファイルの編集例
cat <<EOF >> /etc/network/interfaces up ip route add 192.168.2.0/24 via 192.168.1.1 up ip -6 route add 2001:db8::/64 via 2001:db8::1 EOF
macOS
スタティックルートの追加
sudo route -n add <ネットワーク> <ゲートウェイ>
例
sudo route -n add 192.168.2.0/24 192.168.1.1 sudo route -n add -inet6 2001:db8::/64 2001:db8::1
永続的なスタティックルートの設定
macOSでは、永続的なルートを設定するためにスクリプトを作成し、それを自動的に実行するように設定します。
スクリプト例
#!/bin/bash sudo route -n add 192.168.2.0/24 192.168.1.1 sudo route -n add -inet6 2001:db8::/64 2001:db8::1
スクリプトの保存と実行権限の付与
sudo mv <スクリプト名> /usr/local/bin/ sudo chmod +x /usr/local/bin/<スクリプト名>
スクリプトの自動実行設定
/etc/rc.localを作成または編集してスクリプトを追加します。
hostsファイルの編集
FreeBSD, Red Hat (RHEL, CentOS), Linux (Debian系), macOS
hostsファイルの場所
/etc/hosts
エントリの追加
<IPアドレス> <ホスト名> [エイリアス]
例
192.168.1.100 myserver 192.168.1.101 myserver2 myserver2.example.com 2001:db8::100 myipv6server
pingコマンドの使用方法
IPv4でのpingコマンド
基本的な使用法
ping <IPアドレスまたはホスト名>
IPv6でのpingコマンド
FreeBSD, Linux, macOS
ping6 <IPv6アドレスまたはホスト名>
例
ping6 2001:0db8:85a3:0000:0000:8a2e:0370:7334 ping6 example.com
Red Hat系 (RHEL, CentOS)
ping -6 <IPv6アドレスまたはホスト名>
例
ping -6 2001:0db8:85a3:0000:0000:8a2e:0370:7334 ping -6 example.com
tracerouteコマンドの使用方法
IPv4でのtracerouteコマンド
FreeBSD, Linux, macOS
基本的な使用法
traceroute <IPアドレスまたはホスト名>
例
traceroute 192.168.1.1 traceroute example.com
Red Hat系 (RHEL, CentOS)
traceroute -6 <IPv6アドレスまたはホスト名>
例
traceroute -6 2001:db8::1 traceroute -6 example.com
まとめ
IPアドレスの設定:スタティック
- FreeBSD:
/etc/rc.confファイルを編集し、ifconfigコマンドで設定 - Red Hat:
/etc/sysconfig/network-scripts/内の設定ファイルを編集し、nmcliコマンドで設定 - Linux (Debian系):
/etc/network/interfacesファイルを編集し、ifconfigまたはipコマンドで設定 - Linux (Ubuntu 18.04以降):
/etc/netplan/*.yamlファイルを編集し、netplan applyで適用 - macOS:
networksetupコマンドを使用してネットワーク設定
IPアドレスの設定:DHCP
- FreeBSD:
ifconfig <インターフェース> inet dhcpまたは/etc/rc.confで設定 - Red Hat:
nmcliコマンドまたは/etc/sysconfig/network-scripts/ifcfg-<interface>ファイルを編集 - Linux (Debian系):
dhclientコマンドまたは/etc/network/interfacesファイルを編集 - Linux (Ubuntu 18.04以降):
netplanファイルを編集macOS:networksetupコマンドを使用してDHCPを設定
スタティックルートの設定
- FreeBSD:
route addコマンドおよび/etc/rc.conf - Red Hat:
ip route addコマンドおよび/etc/sysconfig/network-scripts/route-<インターフェース名> - Debian系:
ip route addコマンドおよび/etc/network/interfaces - macOS:
route -n addコマンドおよびスクリプトを用いた自動実行設定
hostsファイルの編集
- すべてのOS:
/etc/hostsファイルを編集し、IPアドレスとホスト名のエントリを追加
pingコマンドの使用方法
- IPv4:
ping <IPアドレスまたはホスト名> - IPv6:
ping6 <IPv6アドレスまたはホスト名>またはping -6 <IPv6アドレスまたはホスト名>(特にRed Hat系)
tracerouteコマンドの使用方法
- IPv4:
traceroute <IPアドレスまたはホスト名> - IPv6:
traceroute6 <IPv6アドレスまたはホスト名>またはtraceroute -6 <IPv6アドレスまたはホスト名>(特にRed Hat系)
以上でFreeBSD, Red Hat, Linux, macOSでのネットワーク設定に関して包括的に記載してました。
