LoginSignup
2
1

More than 1 year has passed since last update.

オンプレからx86サーバーのNAT経由でPower Systems Virtual Serverへの通信を行う

Last updated at Posted at 2021-06-18

オンプレミスからPower Systems Virtual Server(Power VS)に接続する際、VPNルータ等を置くことなく、なるべく簡易に繋ぎたい、という要件が時々あります。

Power VSに標準で払い出されるExternal IPも利用可能ですが、Power VSサービス側の共有Firewallを通るため、使えるポートが決まっていて個別のFirewallルールを設定できない等、制約があります。
https://cloud.ibm.com/docs/power-iaas?topic=power-iaas-network-security

x86に配置した仮想サーバーでDNAT+SNATする事で、端末 -> (インターネット)-> x86サーバー -> (Direct Link Connect) -> Power VS の経路で通信できる事を確認しました。

image.png

この方法だと、x86仮想サーバーのSecurity Groups(無償のL4 Firewall機能)もかけられるので、クイックに繋ぎたい時には悪くない選択肢と言えるかもしれません。

下記が問題ない事が条件となります。
・プロトコルとしてNAT変換がOKである事。
・VPNを使わないので、通信がそのままインターネットを通る事。(プロトコルとして暗号化されているなら許容可能と考えます(下記の例では検証なのでhttpを使いましたが...))

事前準備
・x86仮想サーバーとPower VSをオーダーします。OSに直接パブリックIPが付いていた方がNAT設定しやすいと考え、x86はClassic環境にしました。
・x86とPower VSの間のDirect Linkは接続済みとします。手順は下記の項番2です。
https://qiita.com/y_tama/items/eb8d6e3d54197a569e25

x86からPower VSは疎通している事を確認

今回はhttpで試すので、Power VS上のAIXにWebサーバーを立てました。
まずはx86から通信できることを確認します。

x86からcurlで確認
# curl http://192.168.150.195
This is AIX web server.
# 

x86仮想サーバーでNAT設定

(下記のコマンドだと、OS再起動すると設定が消えますので、適宜、永続化してください)

まず、パケット転送を有効化します。

パケット転送を有効化
# sysctl -w net.ipv4.ip_forward=1
net.ipv4.ip_forward = 1
# 

x86サーバーのパブリックIPアドレスに来たport 80の通信を、Power VSのIPアドレスにDNATします。

DNAT
iptables -t nat -A PREROUTING -p tcp -d 161.202.xx.xx --dport 80 -j DNAT --to-destination 192.168.150.195:80

また、Power VSからの戻りのパケットが戻れるよう、x86サーバーのプライベートアドレスにSNATしてPower VSに送ります。

SNAT
iptables -t nat -A POSTROUTING -p tcp -d 192.168.150.195 --dport 80 -j SNAT --to-source 10.129.177.42

iptables内容の確認。

# sudo iptables -t nat -L
Chain PREROUTING (policy ACCEPT)
target     prot opt source               destination         
DNAT       tcp  --  anywhere             tamavsi03.IBM.cloud  tcp dpt:http to:192.168.150.195:80

Chain INPUT (policy ACCEPT)
target     prot opt source               destination         

Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination         

Chain POSTROUTING (policy ACCEPT)
target     prot opt source               destination         
SNAT       tcp  --  anywhere             192.168.150.195      tcp dpt:http to:10.129.177.42
# 

x86サーバーのSecurity Groups設定

port 80のインバウンドを許可します。下記では設定していませんが、Sourceに、クライアント端末に割り振られるグローバルIPのアドレス範囲を設定すれば、接続元を制限できます。

image.png

オンプレミスの端末のブラウザから、x86仮想サーバーのグローバルIPアドレスを指定すると、AIXのwebサーバーが応答するようになりました。

image.png

2
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
1