さくらのクラウドニュース

さくらのクラウドの最新情報や、開発に役立つ技術情報をお届けします。

コンパネ 新機能

スタティックルーティング機能をリリースしました

本日、新機能「スタティックルーティング機能」をリリースしましたのでお知らせします。
 
これまでグローバルIPアドレスブロック利用時は「スイッチ+ルータ」機能に付属のルータによるルーティングが必須でしたが、スタティックルーティング機能を利用することにより、IPアドレスブロックのスタティックルートを任意のサーバに設定することが可能となりました。これにより、

  • 複数枚のNICを割り当てたLinuxルータにスタティックルートを設定し、配下のサーバにグローバルIPアドレスを割り当てる。
  • 1台のWebサーバに複数のグローバルIPアドレスを割り当て、IPアドレスベースのバーチャルホスト環境を構築し複数のSSLサイトを運用する。
  • ソフトウェアルータVyattaのファイアウォール機能やVPN機能を活用し、グローバルIPアドレスを割り当てるDMZを加えたネットワークを構築する。

など、より柔軟なネットワーク構成が可能となります。

■提供価格

割当IPアドレス個数ごとに以下の料金となります。
 

プリフィックス(割当IPアドレス個数) 月額税込料金(※)
/28(16IP) 3,360円
/27(32IP) 6,720円
/26(64IP) 13,440円
/25(128IP) 26,880円
/24(256IP) 53,760円

※本機能は末日締めの1か月単位の課金となり、1日単位の日割計算はされません

■コントロールパネルからの利用手順

1. ルータ+スイッチの作成

スタティックルーティング機能を使用するには「ルータ+スイッチ」が必要となります。これまでと同様の手順でルータ+スイッチを作成し、スイッチ配下にスタティックルートを割り当てるサーバ(※)を追加します。
すでに作成済みのルータ+スイッチがあれば、こちらにスタティックルーティング機能を利用して割り当てるIPアドレスブロックを追加することも可能です。
 

2. スタティックルーティングするIPアドレスブロックを追加

スイッチの「IPアドレス」タブを開くと、右下に「スタティックルート追加」ボタンが表示されます。

sw-ipaddr_2

 

「スタティックルート追加」ボタンをクリックすると、新たにスタティックルートで割り当てるIPアドレスブロックを指定するダイアログボックスが表示されます。

static-route-add-dialog

 

「プリフィックス」で必要な範囲のIPアドレスブロックを選択し、ネクストホップに「ルータ+スイッチ」配下に接続したサーバを指定し「追加」ボタンをクリックします。追加が完了すると先ほどのIPアドレス画面上部に新たなIPアドレスブロックのボタンが表示されます。

sw-ipaddr-static-route-added_2

※スタティックルーティング機能で追加可能なIPアドレスブロックは、ルータ+スイッチ1個につき4ブロックまでとなります

 

追加したIPアドレスブロックのボタンをクリックすると、「ルータ+スイッチ」のIPアドレス一覧画面と同様の画面が表示されます。リスト上部には、IPアドレスブロックのネットワークアドレスとプリフィックス、ネクストホップに設定されているIPアドレスが表示されます。

sw-ipaddr-static-route-added2_2

3. IPアドレスの逆引き登録

「ルータ+スイッチ」と同様、追加したIPアドレスブロックのIPアドレスに逆引き登録ができます。
IPアドレスリスト右側の鉛筆アイコンをクリックするとダイアログボックスが表示されるので、入力フォームに逆引き登録したいホスト名を入力し「更新」ボタンをクリックします。

hostname-rev_

※正引き設定されていない場合は逆引き登録ができません

4. ネクストホップの変更

追加したIPアドレスブロックのIPアドレス一覧画面右下の「ネクストホップ変更」ボタンをクリックすることで、ネクストホップを他のIPアドレスへ変更することができます。

nexthop-renew_

ポップアップメニューより変更したいIPアドレスを選択し、「変更」ボタンをクリックすることで変更が完了します。

5. スタティックルーティング用IPアドレスブロックの削除

削除したいIPアドレスブロックのIPアドレス一覧画面を表示し、右下の「削除」ボタンをクリックしてください。
削除したIPアドレスブロックを割り当てたサーバは外部ネットワークから接続ができなくなるのでご注意ください。

■サーバ側の設定

ここでは、いくつかの一般的な構成例での設定方法を簡単にご紹介します。設定例として使用するネットワークは以下の通りとします。

ルータ+スイッチ IPアドレスブロック 198.51.100.0/24
ルータ+スイッチ ゲートウェイ 198.51.100.1
スタティックルーティング IPアドレスブロック 203.0.113.0/24
スタティックルーティング ネクストホップ 198.51.100.2

1. CentOS6.4サーバをルータにする

CentOS6.4サーバをルータにして、配下にWebサーバとDNSサーバを接続する構成とします。ネットワーク図は以下の通りです。

centos-router2_2

 

この構成で必要なものは以下の通りです。

・ルータ+スイッチ 1個
・ルータ用CentOSサーバ 1台
・CentOSサーバ用追加NIC 1枚
・スタティックルーティング用IPアドレスブロック 1個
・Webサーバ, DNSサーバ 各1台

それぞれを作成し、ネットワーク構成図のとおりNICとスイッチを接続します。

CentOSルータのネットワーク設定

●eth0インタフェース(IPアドレス:198.51.100.2)の設定

 

/etc/sysconfig/network-scripts/ifcfg-eth0を以下のように編集します。


DEVICE=eth0
BOOTPROTO=static
ONBOOT=yes
TYPE="Ethernet"
NETMASK=255.255.255.0
GATEWAY=198.51.100.1
IPADDR=198.51.100.2

 

●eth1インタフェース(IPアドレス:203.0.113.1)

 

/etc/sysconfig/network-scripts/ifcfg-eth1を以下のように編集します。


DEVICE=eth1
BOOTPROTO=static
ONBOOT=yes
TYPE="Ethernet"
NETMASK=255.255.255.0
IPADDR=203.0.113.1

 

●NIC間IPパケット通過を有効化

 

2個のNIC間でIPパケットが通過するように設定します。


# sysctl -w net.ipv4.ip_forward=1

 

また、再起動後にも設定されるように/etc/sysctl.confのnet.ipv4.ip_forward行を以下の通り変更します


net.ipv4.ip_forward = 1

Webサーバ・DNSサーバのネットワーク設定

●eth0インタフェース(IPアドレス:203.0.113.2)

 

Webサーバの/etc/sysconfig/network-scripts/ifcfg-eth0を以下のように編集します。


DEVICE=eth0
BOOTPROTO=static
ONBOOT=yes
TYPE="Ethernet"
NETMASK=255.255.255.0
IPADDR=203.0.113.2

 

また、DNSサーバの/etc/sysconfig/network-scripts/ifcfg-eth0を以下のように編集します。


DEVICE=eth0
BOOTPROTO=static
ONBOOT=yes
TYPE="Ethernet"
NETMASK=255.255.255.0
IPADDR=203.0.113.3

 

●デフォルトゲートウェイ

 

Webサーバ、DNSサーバそれぞれの/etc/sysconfig/networkを以下のように編集します。ゲートウェイはCentOSルータのeth1のIPアドレスとなります。


NETWORKING=yes
NETWORKING_IPV6=yes
HOSTNAME=routertest
GATEWAY=203.0.113.1

 

設定後、ネットワークサービスを再起動します。


# service network restart

 

グローバル側のホストにpingを打ち、ルータ外部と疎通が取れることを確認します。


# ping www.sakura.ad.jp
PING www.sakura.ad.jp (210.224.168.100) 56(84) bytes of data.
64 bytes from www.sakura.ad.jp (210.224.168.100): icmp_seq=1 ttl=56 time=27.3 ms
64 bytes from www.sakura.ad.jp (210.224.168.100): icmp_seq=2 ttl=56 time=27.3 ms
...

2. CentOS6.4サーバにIPアドレスブロックすべてのアドレスを割り当てる

スタティックルーティング機能で割り当てたIPアドレスブロックをすべてCentOS6.4に割り当てる例です。ネットワーク図は以下の通りです。

centos-multi_4

この構成で必要なものは複数IPアドレスを割り当てるサーバ1台のみで、スイッチや追加NICは必要ありません。

ネットワーク設定

追加するIPアドレスはループバックインタフェースのエイリアスとして設定します。/etc/sysconfig/network-scripts以下に、追加するIPアドレスの個数分の設定ファイルを作成します。

 

●/etc/sysconfig/network-scripts/ifcfg-lo:0


DEVICE=lo:0
ONBOOT=yes
BOOTPROTO=static
IPADDR=203.0.113.0
NETMASK=255.255.255.255

 

●/etc/sysconfig/network-scripts/ifcfg-lo:1


DEVICE=lo:1
ONBOOT=yes
BOOTPROTO=static
IPADDR=203.0.113.1
NETMASK=255.255.255.255

 

同様に追加する他のIPアドレスの分、ファイルを作成します。作成後ネットワーク設定を反映し、外部から各IPアドレスに接続できることを確認します。

3. Vyattaでルータを構築する

高機能なソフトウェアルータであるVyattaを使用した場合の設定例です。さくらのクラウドでは最新版のVyatta Core6.5 R1のISOイメージ、アーカイブを用意していますので、お気軽にご利用いただけます。今回は1で例示したCentOSをVyattaに置き換えた構成例とします。ネットワーク図は以下の通りです。

vyatta-router_2

CentOSルータをVyattaに置き換えた以外、必要なスイッチやNIC、サーバの個数は同じです。

Vyattaでのコマンド操作例

Vyattaにログイン後、以下のコマンドを設定します。なお、VyattaではデフォルトでSSHサービスが停止しているため、初回はリモートスクリーン画面より操作を行います。

 

●SSHサービスの開始

 

リモートよりSSH接続をして作業が行えるようにSSHサービスを起動します。


$ configure
# set service ssh
# commit

 

これでVyattaにSSHログインしての作業が行えるようになります。

 

●eth1インタフェース(IPアドレス:203.0.113.1)

 

Vyatta作成時にディスク修正機能を使用している場合はeth0側のネットワーク設定は完了しているので、eth1側にスタティックルーティング用IPアドレスブロックのネットワーク設定を行います。


$ configure
# set interfaces ethernet eth1 address 203.0.113.1/24
# commit

 

これでVyattaがルータとして機能するようになりました。

Webサーバ・DNSサーバのネットワーク設定

こちらは1の設定と同様です。設定後、外部にpingを打ち、応答があることを確認してください。

 

—————

スタティックルーティング機能により、さくらのクラウド上に構築可能なネットワーク構成の幅が大きく広がりました。クラウドへの移行を諦めていた大規模なネットワークを実環境でご利用中のお客様も、ぜひご検討いただければと思います。