FreeBSD, Red Hat, Linux, macOSでのネットワーク設定ガイド

スポンサーリンク

初めに

このガイドでは、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でのネットワーク設定に関して包括的に記載してました。

タイトルとURLをコピーしました