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に設定されていることを確認してください。