基本的には、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設定ができないようです。他の方法で実装すれば可能だと思います。