LinuxのIP設定
On this page
IPの固定
ネットワークの設定はOS、ディストリビューションによってかなり違うため、 ここでは主なディストリビューションで採用されている設定方法を紹介する。
Ubuntu系(netplan)の場合
Ubuntu系はnetplanという管理補助アプリケーション(こいつが実際に設定しているわけではない)が使われている。
netplanは/etc/netplanの下にあるyaml形式のファイルを読み込み設定する。
network:
version: 2
ethernets:
eth0: # ネットワークのインターフェイス名、wifi、有線で異なる
dhcp4: false # DHCPを無効化
addresses: [192.168.1.5/24] # 固定したいIPアドレス/サブネット長
routes:
- to: default
via: 192.168.1.1 # デフォルトゲートウェイ(家庭では普通ルーターのアドレス)
nameservers:
addresses: [192.168.1.1, 8.8.8.8] # DNSサーバーのアドレス
search: [sample.com] # サーチドメインの設定(option)
設定の反映はrootユーザーになるかsudo権限でnetplan applyを実行する。
反映されたかどうかはip a等で確認する。
Debian系の場合
Debian系は/etc/network/interfacesに書いてあることが多い
#iface <インターフェイス名(例: eth0)> inet dhcp # ここでDHCPを無効化
iface eth0 inet static # 固定IP
address 192.168.1.5 # 固定したいIPアドレス
netmask 255.255.255.0 # サブネットマスク
gateway 192.168.1.1 # デフォルトゲートウェイ
dns-nameservers 192.168.1.1 # DNSサーバーのアドレス
設定の反映はrootユーザーになるかsudo権限でsystemctl restart network.serviceを実行する。
反映されたかどうかはip a等で確認する。
RHEL系(NetworkManager)の場合
systemd-networkdの場合
systemdを採用したlinux系にはデフォルトで入っている。
設定は/etc/systemd/network以下の<任意のファイル名>.confファイルに書く。
[Match]
Name=eth0 # インターフェイス名
[Network]
Address=192.168.1.5/24 # 固定したいIPアドレス/サブネット長
Gateway=192.168.1.1 # デフォルトゲートウェイ
DNS=192.168.1.1 # DNSサーバー(systemd-resolvedも使う場合は書かなくて良い)
設定の反映はrootユーザーになるかsudo権限でsystemctl restart systemd-networkd.serviceを実行する。
反映されたかどうかはip a等で確認する。
Raspi OS(dhcpcd)の場合
/etc/dhcpcd.confに以下を追記する。
(中略)
interface eth0 #ネットワークのインターフェイス名、wifi、有線で異なる
static ip_address=<固定したいIPアドレス(使われていない任意)>/24
static routers=<ルーターのIPアドレス>
static domain_name_servers=[<ルーターのIPアドレス> or <DNSサーバーのIPアドレス>]
ドメインの設定
Ubuntu系の場合
netplanで設定するため上の項目を参照のこと。
Debian系、Raspi OSの場合
DNSサーバーが存在し、ドメイン・ネームサーバーの設定をする場合、debian, raspbian 11なら以下を/etc/resolvconf.confに以下を追記する。
/etc/resolv.confではないこと、文法が若干異なることに注意。
(中略)
name_servers=<Name サーバーのアドレス>
search_domains=<ドメイン名>
RHEL系(NetworkManager)の場合
NetworkManagerで設定できるので、上の項目を参照のこと。
systemd-resolvedの場合
systemdを採用したlinux系にはデフォルトで入っている。
設定は/etc/systemd/resolved.confを編集する。
(中略)
DNS=192.168.1.1 8.8.8.8 # 頭に#がついているので外してDNSサーバーのアドレスを=以降に書く
Domains=<ドメイン名> # コメントの#を外し=以降にドメインの設定をする