Linux で IP アドレスを追加する方法:Ubuntu・Debian・CentOS・Rocky Linux に追加 IPv4 をバインド
JUSTG クラウドサーバーに追加 IP を注文した場合や、ヨハネスブルグ・モスクワの専用サーバーで /24 ブロックを利用する場合、通信に応答させるにはまず Linux で追加 IP アドレスを設定する必要があります。このガイドでは、ip addr add による一時的なバインド、Ubuntu の netplan・Debian の /etc/network/interfaces・CentOS/Rocky/AlmaLinux の nmcli による永続設定、別サブネットの IP に対するソースルーティング、そしてループによる /24 一括バインドを説明します。例のアドレスはドキュメント用です。クライアントエリアに表示される IP・プレフィックス・ゲートウェイに置き換えてください。
ステップ1:インターフェース名と現在の IP を確認
ip の簡易表示で、各インターフェースとアドレスが一覧できます。メイン IP が付いているインターフェース(eth0、ens3、enp1s0 など)とデフォルトゲートウェイを控えておきます。
ip -br a
ip route show defaultステップ2:ip addr add で一時的に IP を追加(テスト用)
新しいアドレスを試す最速の方法は、実行時に追加することです。再起動すると消えるため、最初の確認に安全です。
# add the extra IPv4 (not persistent, lost after reboot)
ip addr add 203.0.113.11/24 dev eth0
# confirm and test outgoing traffic from the new address
ip -br a show eth0
ping -c 3 -I 203.0.113.11 1.1.1.1
# remove it again if needed
ip addr del 203.0.113.11/24 dev eth0新しい送信元アドレスからの ping が通れば、IP はサーバーに正しくルーティングされています。永続設定に進みましょう。
ステップ3:Ubuntu の netplan で追加 IP を永続化
Ubuntu のネットワーク設定は /etc/netplan/ 配下の YAML ファイルにあります。インターフェースの addresses リストに新しいアドレスを追加します。インデントは必ずスペースを使ってください。
# /etc/netplan/50-cloud-init.yaml (the file name may differ)
network:
version: 2
ethernets:
eth0:
addresses:
- 203.0.113.10/24
- 203.0.113.11/24
routes:
- to: default
via: 203.0.113.1
nameservers:
addresses: [1.1.1.1, 8.8.8.8]netplan try # rolls back automatically if you lose access and do not confirm
netplan applycloud-init で構築されたサーバーで、再起動後に変更が上書きされる場合は、cloud-init のネットワーク管理を無効にします。
echo "network: {config: disabled}" > /etc/cloud/cloud.cfg.d/99-disable-network-config.cfgステップ4:Debian の /etc/network/interfaces で IP を追加
ifupdown を使う Debian では、同じインターフェースに複数の iface ブロックを書けます。ブロックを 1 つ追加するごとにアドレスが 1 つ増えます。
# /etc/network/interfaces
auto eth0
iface eth0 inet static
address 203.0.113.10/24
gateway 203.0.113.1
iface eth0 inet static
address 203.0.113.11/24VNC コンソールから適用するか、メンテナンス時間帯に再起動してください。
systemctl restart networkingステップ5:CentOS・Rocky Linux・AlmaLinux の nmcli で IP を追加
これらのシステムは NetworkManager を使います。接続名は System eth0、eth0、Wired connection 1 などの場合があるので、まず一覧で確認します。+ を付けるとメイン IP を置き換えずに追加できます。
nmcli con show # find the connection name
nmcli con mod "System eth0" +ipv4.addresses 203.0.113.11/24
nmcli con up "System eth0"
nmcli -g ipv4.addresses con show "System eth0"その後 ip -br a を実行し、両方のアドレスがインターフェースにあることを確認します。
ステップ6:IP が別サブネットの場合のソースルーティング
追加 IP が独自のゲートウェイを持つ別サブネットの場合、応答パケットが誤った送信元でメインゲートウェイから出て破棄されることがあります。ポリシールーティングで、追加 IP からの通信をそのゲートウェイ経由にします。
# extra IP 198.51.100.10 with its own gateway 198.51.100.1
ip addr add 198.51.100.10/24 dev eth0
ip route add default via 198.51.100.1 dev eth0 table 100
ip rule add from 198.51.100.10 table 100
ip rule show再起動後も維持するには、対応する永続設定を使います。
# netplan: add under eth0
routes:
- to: default
via: 203.0.113.1
- to: default
via: 198.51.100.1
table: 100
routing-policy:
- from: 198.51.100.10
table: 100
# nmcli (CentOS / Rocky / AlmaLinux)
nmcli con mod "System eth0" +ipv4.routes "0.0.0.0/0 198.51.100.1 table=100" \
+ipv4.routing-rules "priority 100 from 198.51.100.10 table 100"
nmcli con up "System eth0"ステップ7:JUSTG 専用サーバーで /24 をまとめてバインド
/24 には 256 個のアドレスがあります。割り当て情報でゲートウェイと使用可能範囲を確認してください。以下の例では .1 がゲートウェイ、.2〜.254 が使用可能です。テストにはループで一括追加します。
# example: 198.51.100.0/24, gateway 198.51.100.1, usable .2 - .254
for i in $(seq 2 254); do
ip addr add 198.51.100.$i/24 dev eth0
done
ip -4 -o addr show dev eth0 | wc -l永続設定では、253 行を手で書く代わりに設定をコマンドで生成します。
# Ubuntu (netplan): print the address lines, then paste them under "addresses:"
for i in $(seq 2 254); do echo " - 198.51.100.$i/24"; done
# Debian (/etc/network/interfaces): one line inside the eth0 stanza
up for i in $(seq 2 254); do ip addr add 198.51.100.$i/24 dev eth0; done
# CentOS / Rocky / AlmaLinux (NetworkManager)
ADDRS=$(for i in $(seq 2 254); do printf "198.51.100.%s/24," "$i"; done)
nmcli con mod "System eth0" +ipv4.addresses "${ADDRS%,}"
nmcli con up "System eth0"再起動後に ip -4 -o addr show dev eth0 | wc -l で数を数え、すべてのアドレスが戻ったことを確認します。
よくある質問
VPS の IPv4 を増やすにはどうすればよいですか?
JUSTG のクラウドサーバーには IPv4 が 1 つ含まれます。追加の IPv4 はクライアントエリアのアップグレードオプションから注文でき、すべてのクラウドサーバーで IPv6 を無料で利用できます。
新しい IP が ip -br a に表示されるのに外部から届きません。
割り当て情報とプレフィックス・ゲートウェイを照合し、ファイアウォールでそのアドレスのサービスが許可されているか確認し、ping -I でテストしてください。それでも失敗する場合、IP がまだサーバーにルーティングされていない可能性があります。
外向き通信にはどのアドレスが使われますか?
サブネットのプライマリ(最初の)アドレスです。アプリケーション側で特定の IP にバインドするか、ルートに src を指定できます。
それでも解決しない場合は、IP 割り当て情報と ip -br a の出力を添えてチケットを送信し、JUSTG テクニカルサポートにお問い合わせください。