スマートフォン・タブレットからインターネットサーバーオペレーション
旧 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
アップグレード後、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)を設定します。旧 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/
$ sudo cp /etc/resolvconf/resolv.conf.d/original base
$ sudo resolvconf -u