pandazx's blog

Hadoop, データ分析など雑多な技術ブログ

EC2にNATサーバ構築

AmazonからはNAT Gatewayというマネージドサービスが提供されているが、お金が少しかかる。 そこで自前で用意する方法を説明する。

OS:Amazon Linux

NATサーバを構築するEC2インスタンスはパブリックIPがあり、外につながっているとする。 以下を設定。IPアドレスに関する部分は適宜、読み替えて設定すること。

# 設定
sudo iptables -t nat -A POSTROUTING -s 192.168.0.0/24 -j MASQUERADE

# 設定の確認
sudo iptables -t nat -nL

# 設定の保存(保存しないと再起動で設定が初期化される)
sudo service iptables save

クライアントとなるEC2はパブリックIPがなく、プライベートIPのみとする。以下を設定。

# デフォルトゲートウェイをNATサーバに設定
sudo route del default gw 192.168.0.1
sudo route add default gw 192.168.0.8

sudo vim /etc/sysconfig/network
GATEWAY=192.168.0.8を追記設定

sudo service network restart
※少し時間がかかる

# 接続テスト
wget www.google.co.jp
index.htmlが作成されれば成功

ちなみに、各インスタンスの基本的なポートの開閉などはAWSのセキュリティグループでやればよい。

参考サイト(もっと詳しい説明があります):習うより慣れろ! iptablesテンプレート集(2):natテーブルを利用したLinuxルータの作成 (2/6) - @IT

以下の方法もあるらしい。

AWSでNAT構成を自前で用意する - のんびりSEの議事録