スマートフォン・タブレットからインターネットサーバーオペレーション

APPW.jp

旧 ConoHa VPS の Ubuntu 16.04 LTS に、追加 IP アドレスを設定する

旧 ConoHa VPS (2015年5月リニューアル前のサービス)で、Ubuntu 16.04 LTS をインストールして、追加 IP アドレス(IPv6 と IPv4)を設定します。

旧 ConoHa VPS でのテンプレートイメージ(標準 OS)は、CentOS 6 となっています。また、用意されている Ubuntu のインストールイメージは、通常版 Ubuntu 16.04、長期サポート版 Ubuntu 14.04 LTS などのようになっています。

ここでは、まず、インストールイメージの Ubuntu 14.04 LTS を再インストールしてから、Ubuntu 16.04 LTS へアップグレードすることにします。



$ sudo apt update
$ sudo apt upgrade
$ sudo apt dist-upgrade
$ sudo do-release-upgrade

追加 IP アドレス(IPv6)を設定

アップグレード後、ifconfig コマンドや ip a コマンドで IP アドレスを確認すると、標準で利用できるはずの IPv6 アドレスが足りないことに気がつきます。足りない 16 個の IPv6 アドレスは、/etc/network/interfaces に設定を追加します。



auto eth0
iface eth0 inet dhcp
iface eth0 inet6 dhcp
  post-up /bin/bash /etc/network/ipv6.sh

post-up コマンド行では、次のような bash シェルスクリプト(/etc/network/ipv6.sh)を作成して、実行しています。



#!/bin/bash
# ipv6.sh set IPv6 address

FIRST=`/sbin/ip -6 a|grep -i global|cut -d ":" -f1,2,3,4|cut -d "6" -f2`
SECOND=`/sbin/ip -6 a|grep -i global|cut -d ":" -f5,6,7,8|cut -d "/" -f1`
IPV6=$FIRST:a$SECOND
 
for SUFFIX in `echo {0..9}`; do
    /sbin/ip addr add dev eth0 $IPV6$SUFFIX/64 > /dev/null 2>&1
done
for SUFFIX in `echo {a..f}`; do
    /sbin/ip addr add dev eth0 $IPV6$SUFFIX/64 > /dev/null 2>&1
done
exit 0

標準 OS で使用されているスクリプトを参考にして、ip addr add コマンドで IPv6 アドレスを追加しています。

なお、シェルスクリプトは実行可能となるようにパーミッションを変更します。



$ sudo chmod +x /etc/network/ipv6.sh

追加 IP アドレス(IPv4)を設定

有償の追加 IP アドレス(IPv4)を設定します。旧 ConoHa VPS コントロールパネルの「ネットワーク」において、追加 IP アドレスを設定します。

ifconfig -a コマンドなどで追加されたネットワークインターフェースの ethNO を確認します。ここでは、eth1 とします。

/etc/network/interfaces に設定を追加します。



auto eth1
iface eth1 inet static
  address 157.7.xxx.101
  netmask 255.255.254.0

  post-up ip rule add from 157.7.xxx.0/23 table 100 prio 10000
  post-up ip route add default via 157.7.xxx.1 dev eth1 table 100
  post-down ip route del default table 100
  post-down ip rule del table 100 prio 10000
 
auto eth1:1
iface eth1:1 inet static
 address 157.7.xxx.102
 netmask 255.255.254.0

post-up 行の ip rule add コマンドでは、ルーティングポリシーデータベースに table 100、優先度 10000 で、追加 IP アドレスに対応するルーティングテーブルを追加します。

また、ip route add default コマンドでは、追加 IP アドレスに対応するデフォルトゲートウェイアドレスをルーティングテーブルに登録します。

post-down コマンド行では、上記の post-up での登録を解除します。

さらに複数の追加 IP アドレスは、eth1:1 のように設定を追加していきます。

Ubuntu 18.04 LTS にアップグレード後、名前解決できない場合について追記します。

アップグレード前の /etc/resolvconf/resolv.conf.d/base の内容が /etc/resolvconf/resolv.conf.d/original にありますので、この original ファイルの内容を base ファイルに移します。



$ sudo cp /etc/resolvconf/resolv.conf.d/original base

$ sudo resolvconf -u

『旧 ConoHa VPS の Ubuntu 16.04 LTS に、追加 IP アドレスを設定する』を公開しました。