概要
ニフティクラウドのネットワークの機能にルータという機能があります 
http://cloud.nifty.com/service/router.htm
異なる VLAN 同士を相互に接続することができる機能のようです 
実際に動作試してみたので紹介します
環境
- ニフティクラウド (2016/12/17 時点) 
 - Region: east-1 (Zone: east-12)
 
- ゲスト OS: CentOS6, 7
プライベート LAN の作成
今回は 2 つのプライベート LAN (vlan1 と vlan2) をルータを使って相互に接続してみます 
ニフティクラウドのコントロールパネル (以下、コンパネ) から「ネットワーク」と進み「プライベート LAN の作成」から作成します
まず vlan1 は以下の通り 
CIDR は 192.168.0.0/16 にしました 

vlan2 は以下の通り 
こちらは同じ CIDR だと疎通できた感がないので別の CIDR (172.10.0.0/16) にしました 

とりあえず作成できれば OK です
サーバの作成
作成した 2 つのプライベート LAN 上にサーバをそれぞれ 1 台ずつ作成します 
特に理由はないですが、vlan1 には CentOS6 (c6) を vlan2 には CentOS7 (c7) をそれぞれ作成します 
サーバを作成するときにプライベート側のネットワークは作成した VLAN をそれぞれ指定してください 
IP アドレスはサーバが起動したあとに手動で設定します
サーバのスペックは好きなものに設定してください 
ファイアウォールも自環境からアクセスできるように適宜設定してください 
ただし、ファイアウォールは後々面倒になりそうなので各サーバには同じファイアウォールを設定してください
c6 -> vlan1 

c7 -> vlan2 

こんな感じで作成すれば OK です
サーバに IP アドレスを付与
eth0 側にはグローバル IP が振られているので eth1 側にプライベート IP を付与します 
CentOS6 と CentOS7 で若干設定ファイルが異なるので注意してください 
IP は「1」を振らなければ何番でも OK です 
「1」は後で作成するルータが使用します
c6
- vim /etc/sysconfig/network-scripts/ifcfg-eth1
- ifup eth1
DEVICE=eth1
BOOTPROTO=static
IPADDR=192.168.0.10
NETWORK=192.168.0.0
NETMASK=255.255.0.0
ONBOOT=yes
PEERDNS=noc7
- vim /etc/sysconfig/network-scripts/ifcfg-ens192
- ifup ens192
EVICE=ens192
BOOTPROTO=static
IPADDR=172.10.0.10
NETWORK=172.10.0.0
NETMASK=255.255.0.0
ONBOOT=yes
PEERDNS=no設定したら NIC を up してください 
コンパネから確認すると以下のような感じになっていれば OK です 

ルータの作成
ではルータを作成していきます 
左メニューから「ネットワーク」で「ルーター作成」を選択します 
作成時のポイントは以下の通り
- ネットワーク設定で作成した VLAN をそれぞれ設定します
追加ボタンからそれぞれ追加すれば OK です 
ルータの IP は特に指定しないようにします 
そうすることで「1」を勝手に降ってくれるようです 

- ファイアウォールはサーバに設定したものと同じものを設定してください
別のファイアウォールを設定しても特に問題はないです 
VLAN 同士で特にアクセス制限を設けない場合は同じファイアウォールにすればファイアウォール内のアクセスはすべて許可となります
ルータが作成できたら詳細を確認しましょう 
以下のような感じなっていれば OK です
基本情報 

ネットワーク 

今回の構成が完成するとネットワーク構成図的には以下のようになります 
( 関係ないサーバが 1 台いますが気にしないでください ) 

ルーティングの追加と動作確認
あとは OS 上での設定となります 
実施前に以下の ping を実行しておくと実際に疎通が通ったことがわかるので良いと思います
- c6 # ping 172.10.0.10
- c7 # ping 192.168.0.10
ルーティングを追加していない状態だと通信することができないと思います 
ではまず c6 に以下の設定を実施します
route add -net 172.10.0.0/16 gw 192.168.0.1 eth1次に c7 に以下の設定を実施します
route add -net 192.168.0.0 netmask 255.255.0.0 gw 172.10.0.1 ens192すると ping が通るようになるのが確認できると思います 
通った状態でルーティングを削除してみてください 
例えば c6 だと route del -net 172.10.0.0/16 gw 192.168.0.1 eth1 という感じです 
削除するとお互いが通信できなくなることがわかると思います
ちなみに再起動するとルーティングが削除されてしまうので /etc/sysconfig/network-scripts/route-eth1 とかに設定を書いておくと再起動しても消えません
最後に
ニフティクラウドのルータ機能を使って異なる VLAN を通信できるようにしてみました 
VLAN が複数ある環境では便利な機能かもしれません 
ルータには DHCP の機能もあるので VLAN 内のサーバに動的に IP を振ることもできると思います (今回紹介はしません)
また、別の機会で他の機能も紹介できればと思います
ハマりポイント
今回の作業でハマった点は以下の通り
- OS 上にルーティングの設定が必要なことに気づかなかった
- ドキュメントが少ない
1 つ目はネットワークの機能に「ルートテーブル」という機能がありこれで代用できるのかなとずっと勘違いしていました 
ルートテーブルにいろいろとルートの追加をしてはルータにルートテーブルを設定して、外しては再度設定してと何度も試したのですが疎通できず素直に OS レベルでルーティングを設定してみたところすんなり通った感じです
2 つ目はそのまんまですが、Web 上に参考になるドキュメントが少なかったです 
VPN 接続系の記事はちょくちょくあるのですが、ルータの記事が少ない感じでした
 
0 件のコメント:
コメントを投稿