AWS VPCの内部 - >外部ファイアウォールでパケットを表示できない

AWS VPCの内部 - >外部ファイアウォールでパケットを表示できない

DMZのホスト(インターネット - > DMZおよびDMZ - >インターネットトラフィックの場合)とローカルネットワークのホスト(DMZ - >ローカル、ローカル - > DMZの場合)を保護するために、外部/内部ファイアウォールを持つAWS VPCを設定します。あります。とローカル - >インターネットトラフィック)。 OpenBSDにはXenドライバがあるので、2つのOpenBSD 6.1 VMを作成し、以下の図に従って構成しました。外部ファイアウォール Vegeta は通常、インターネットと通信できます。しかし、内部ファイアウォールではBulmaはできません。

私がブルマにいて、次のことをしている場合:

$ telnet 50.194.72.148 80

その後、bulmaのデフォルトパスであるvegeta:xnf3でパケットを見ることを期待しましたが、そうではありませんでした。 bulmaからvegetaにsshを接続できるため、パケットは通過します。私のpfファイアウォールルールはデフォルトですべてをブロックしてもトラフィックを許可し、他のすべてのエラーを記録します。しかし、pfは顕著な失敗を示さなかった。これを行うためのいくつかのAWS設定がありませんか?

bulmaのルーティングテーブル:

bulma# route -n show -inet
Routing tables

Internet:
Destination        Gateway            Flags   Refs      Use   Mtu  Prio Iface
default            192.168.15.238     UGS        0      209     -     8 xnf0 
224/4              127.0.0.1          URS        0        0 32768     8 lo0  
127/8              127.0.0.1          UGRS       0        0 32768     8 lo0  
127.0.0.1          127.0.0.1          UHhl       1       22 32768     1 lo0  
192.168.15.0/28    192.168.15.14      UCn        2        0     -     4 xnf1 
192.168.15.1       0a:8f:0f:99:77:46  UHLc       0     5668     -     3 xnf1 
192.168.15.2       0a:8f:0f:99:77:46  UHLc       0        3     -     3 xnf1 
192.168.15.14      0a:cb:41:73:83:ca  UHLl       0     6052     -     1 xnf1 
192.168.15.15      192.168.15.14      UHb        0        0     -     1 xnf1 
192.168.15.224/28  192.168.15.228     UCn        2        0     -     4 xnf0 
192.168.15.225     0a:28:c7:f3:88:0c  UHLc       0     5671     -     3 xnf0 
192.168.15.228     0a:15:e5:12:a4:28  UHLl       0     5806     -     1 xnf0 
192.168.15.238     0a:c4:41:0e:06:74  UHLch      5      113     -     3 xnf0 
192.168.15.239     192.168.15.228     UHb        0        0     -     1 xnf0

ブルマの /etc/pf.conf:

dmz_if = "xnf0"
int_if = "xnf1"

icmp_types = "{ echoreq, unreach }"

table <aws_nets> const { 192.168.15.0/24 }

set block-policy return
set skip on lo

block log all
block in quick inet6 all

# Allow ping and path MTU discovery
pass  in log inet proto icmp all icmp-type $icmp_types keep state
pass out log on $dmz_if inet proto { udp, icmp } all keep state

# Allow anything on the NAT interface
pass  in log on $dmz_if inet from <aws_nets> to any
pass out log on $dmz_if inet from $dmz_if:network to any

# Allow anything on the internal interface
pass out log on $int_if inet from $int_if:network to any

# Nat
match out log on $dmz_if inet from $int_if:network to any \
  nat-to ($dmz_if:0)
pass out log on $dmz_if from any to any

# Allow ssh
pass  in log on $dmz_if inet proto tcp from $dmz_if:network to \
  $dmz_if:0 port = ssh
pass out log on $dmz_if inet proto tcp from $dmz_if:network to \
  $dmz_if:network port = ssh

# By default, do not permit remote connections to X11
block return in on ! lo0 proto tcp to port 6000:6010

vegetaの/etc/pf.conf:

ext_if = "xnf0"
dmz_if = "xnf3"

icmp_types = "{ echoreq, unreach }"

table <aws_nets> const { 192.168.15.192/28, 192.168.15.208/28, \
                         192.168.15.224/28 }

set block-policy return
set skip on lo

block log all
block in quick inet6 all

# Allow ping and path MTU discovery
pass  in log inet proto icmp all icmp-type $icmp_types keep state
pass out log on $ext_if inet proto { udp, icmp } all keep state

# Allow anything on the NAT interface
pass  in log on $dmz_if inet from <aws_nets> to any

# Nat
match out log on $ext_if inet from $dmz_if:network to any \
  nat-to ($ext_if:0)
pass out log on $ext_if from any to any

# Allow ssh
pass  in log on $ext_if inet proto tcp from any to \
  any port = ssh
pass  in log on $dmz_if inet proto tcp from any to \
  any port = ssh
pass out log on $dmz_if inet proto tcp from $dmz_if:network to \
  $dmz_if:network port = ssh

# By default, do not permit remote connections to X11
block return in on ! lo0 proto tcp to port 6000:6010

ここに画像の説明を入力してください。

ここに画像の説明を入力してください。

ここに画像の説明を入力してください。

ベストアンサー1

まあ、それはすべてあなたがパケットを見ているインターフェイスによって異なります。 pf は xnf0 で実行され、nat 内のすべてのパケットを xnf3 からのみ来たかのように処理します。 vegetaのxnf3でiftopモニタを実行し、再テストして何が起こるかを確認してください。

# pkg_add -v iftop
# iftop -i xnf3

また、Blumaでルートを確認してください。

# netstat -rn -f inet

デフォルトゲートウェイが192.168.15.238に設定されていることを確認してください。

おすすめ記事