Azure上にルーターを構築する!!

基本的には、Azureの仮想マシンは、RDP接続やインターネット通信が必要となるため、仮想マシン1台に対して、1つのパブリックIP(グローバルIP)を持つ事になります。そうなると、常に外部に「さらされている状態」となりセキュリティ上、危惧する場合もあると思います。

そんな時には、Azure上にプロキシサーバーを構築し、その他サーバーはプロキシサーバー経由でインターネット通信を許可する構成がオススメです。

ですが!!プロキシサーバーの場合、通信できるプロトコルが限定されてしまいます。そこで今回はプロキシサーバーでは無く、ルーターサーバーを構築し [PAT/NAPT/IPマスカレード/ダイナミックNAT] を使い、外部からのアクセスを遮断する環境を構築します。

この構成だと、PIPの無いサーバーにはRDP接続ができませんので、その場合はこちら「RDP接続を踏み台サーバーに限定する!!」を御覧ください。

[ルーターサーバー構成図]


それでは、ルーターサーバー環境を構築して行きましょう!!

全体の流れ

Step1:Subnet-1をサーバー設置エリアとし、PIP無しの仮想マシンを作成します。
Step2:Subnet-2に、ルーターサーバーとなる仮想マシンを作成します。
Step3:ルーターサーバーのNICにて[IP転送]を有効にします。
Step4:Subnet-1に、デフォルトルートをルーターサーバーに向けたUDRを作成します。

Step1:Subnet-1をサーバー設置エリアとし、PIP無しの仮想マシンを作成します。
※保護対象となる仮想マシンを作成します。

Step2:Subnet-2に、ルーターサーバーを作成します。
※ルーターサーバーの「Private IP」を「静的」にします。

ルーターサーバーのOS上にて、[IP Forward]と[PAT]を設定します。

[IP Forwardを有効] ※これをしないと、OSレベルでドロップされます。
# vi /etc/sysctl.conf
 net.ipv4.ip_forward = 1 ←この一行を追記
# service network restart

[PATを有効] ※これをしないと、ルーターサーバー用のPIPにNATされません。
# systemctl enable firewalld
# systemctl start firewalld
# firewall-cmd –set-default-zone=external
# firewall-cmd –reload

Step3:ルーターサーバーのNICにて[IP転送]を有効にします。
※「IP転送」を有効にしないと、Azure NICレベルでドロップされます。
※プライベートIPを「静的」にします。

Step4:Subnet-1に、デフォルトルートをルーターサーバーに向けたUDRを作成します。
※ 10.0.1.5 がルーターサーバーのIP

以上、完了!!

あら、不思議?! PIPを持たない、仮想マシンからインターネット通信ができました!


ルーターサーバーをWindowsの「Routing and Remote Access」でも試してみたのですが、どうも、PAT設定ができないようです。他の方法で実装すれば可能だと思います。