2016年12月25日日曜日

ニフティクラウドのルータの NAT 機能を使ってインターネットにアクセスしてみた

概要

ニフティクラウドのルータ機能に NAT 機能があります
今回はこの NAT 機能を使用してグローバルネットワークを持たないサーバをインターネットに接続してみたいと思います

環境

  • ニフティクラウド (2016/12/24 時点)
    • Region: east-1 (Zone: east-12)
  • ゲスト OS: CentOS6, 7

構成

構成は前回までに作成したルータ環境をそのまま使用します
そのままだとサーバがグルーバルに直接通信できてしまう状況なので今回はそれをルータ経由でアクセスできるようにしてみます
全体の構成図としては以下の通りです
niftycloud_router_nat_usage1.png

グローバル IP の削除

まず c7 サーバからグローバルインタフェースを取り外します
サーバを選択し「ネットワーク設定変更」を選択します
ダイアログで「グローバル」の IP アドレスを「利用しない」に変更します
niftycloud_router_nat_usage2.png

設定が完了してコンパネ上の表示からグローバル IP が見えなくなることを確認します

念のため

グローバル IP を削除するとサーバが再起動します
サーバが再起動すると c6, c7 のルーティングがなくなってしまうのでファイルに書いてルーティング情報を保存しておきましょう

  • c6
    • cat /etc/sysconfig/network-scripts/route-eth1
172.10.0.0/16 via 192.168.0.1
  • c7
    • cat /etc/sysconfig/network-scripts/route-ens192
192.168.0.0/16 via 172.10.0.1

これでグローバルネットワークが削除されてサーバが再起動しても c6, c7 間はプライベート IP を使って通信することができます

ルータをグローバルネットワークに接続する

サーバが接続しなくなったので、代わりにルータをグローバルネットワークに接続します
左メニューの「ネットワーク」からルータを選択し「ルータの操作」から「ネットワーク設定変更」を選択します
そして「ネットワーク追加」から「共通グローバル」を選択し追加します
niftycloud_router_nat_usage3.png

設定が完了するとネットワークの構成図でルータが共通グローバルに接続されると思います

NAT テーブルの作成

次にインターネットに接続するための NAT 設定を行います
左メニューの「ネットワーク」から「NAT テーブル」を選択します
そして新規作成から以下のように入力します
niftycloud_router_nat_usage4.png

c7 の IP アドレス (172.10.0.10) を共通グローバルに NAT する設定を追加します
これは Source NAT (SNAT) になるので SNAT 側に追加します

ルータへの NAT テーブル追加

追加した NAT テーブルをルータに反映させます
ルータを選択し再度「ルータの操作」からネ「NAT テーブル設定変更」を選択します
先ほど作成した NAT テーブルを選択し「変更する」を選択します
niftycloud_router_nat_usage5.png

問題なくルータに反映されれば OK です
これでニフティクラウド上での操作は完了なのであとは OS 上で動作確認します

OS 上での設定と動作確認

c7 サーバへは c6 サーバからルーティングが通っているので、そこから SSH すると良いです
グローバルからはインタフェースを外しているのでできなくなっているためです
とりあえず ping 8.8.8.8 などして接続できないことを確認します

では c7 サーバに default gateway を設定します
以下のコマンドを実行してください

  • ip r add default via 172.10.0.1 dev ens192

これを実行した段階で先ほどの ping が通るようになっていると思います
更に curl www.google.co.jp などを実行すると HTML が取得できると思います
yum update もできます

default gateway の情報は恒久的に保存したい場合は以下のファイルに追記しましょう

  • vim etc/sysconfig/network-scripts/ifcfg-ens192
GATEWAY=172.10.0.2

で再起動しても default gateway の設定が消えません

最後に

ニフティクラウドのルータを使って SNAT 機能を実現してみました
これでルータ配下にいるサーバはグローバルネットワークを持たなくてもインターネット通信できるようになりました

ニフティクラウドの場合、グローバルネットワークを取り外すと少しお値段が安くなるのでインターネットには接続したいがグローバル IP を使わない場合にはお得かもしれません (ルータの料金はかかりますが)

0 件のコメント:

コメントを投稿