概要
ニフティクラウドのルータ機能に NAT 機能があります
今回はこの NAT 機能を使用してグローバルネットワークを持たないサーバをインターネットに接続してみたいと思います
環境
- ニフティクラウド (2016/12/24 時点)
- Region: east-1 (Zone: east-12)
- ゲスト OS: CentOS6, 7
構成
構成は前回までに作成したルータ環境をそのまま使用します
そのままだとサーバがグルーバルに直接通信できてしまう状況なので今回はそれをルータ経由でアクセスできるようにしてみます
全体の構成図としては以下の通りです
グローバル IP の削除
まず c7 サーバからグローバルインタフェースを取り外します
サーバを選択し「ネットワーク設定変更」を選択します
ダイアログで「グローバル」の IP アドレスを「利用しない」に変更します
設定が完了してコンパネ上の表示からグローバル 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 を使って通信することができます
ルータをグローバルネットワークに接続する
サーバが接続しなくなったので、代わりにルータをグローバルネットワークに接続します
左メニューの「ネットワーク」からルータを選択し「ルータの操作」から「ネットワーク設定変更」を選択します
そして「ネットワーク追加」から「共通グローバル」を選択し追加します
設定が完了するとネットワークの構成図でルータが共通グローバルに接続されると思います
NAT テーブルの作成
次にインターネットに接続するための NAT 設定を行います
左メニューの「ネットワーク」から「NAT テーブル」を選択します
そして新規作成から以下のように入力します
c7 の IP アドレス (172.10.0.10) を共通グローバルに NAT する設定を追加します
これは Source NAT (SNAT) になるので SNAT 側に追加します
ルータへの NAT テーブル追加
追加した NAT テーブルをルータに反映させます
ルータを選択し再度「ルータの操作」からネ「NAT テーブル設定変更」を選択します
先ほど作成した NAT テーブルを選択し「変更する」を選択します
問題なくルータに反映されれば 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 件のコメント:
コメントを投稿