Solarisのbsdパケットフィルタ、pingが許可されないのはなぜですか?

Solarisのbsdパケットフィルタ、pingが許可されないのはなぜですか?

2つのインターフェースがあります。 1つはIP 192.168.0.30のnet0、もう1つはIP 10.2.0.1のvnic0です。

これは私のpf.confで、Solarisは11.4です。

ext_if="net0"
int_if="vnic0"
localnet="192.168.0.0/24"
internalnet="10.2.0.0/24"

int_tcp_services = "{www, https}"
int_udp_services = "{domain}"

set skip on lo
set loginterface $ext_if

block return in log all
block out all

antispoof quick for $ext_if

# Block 'rapid-fire brute force attempts
table <bruteforce> persist
block quick from <bruteforce>

#enable icmp for localnet
pass inet proto icmp from $localnet to any keep state
pass inet proto icmp from $internalnet to any keep state
pass inet proto icmp from any to $ext_if keep state
pass inet proto icmp from any to $int_if keep state

# SSH is listening on port 22
pass in quick proto tcp to $ext_if port 22 keep state (max-src-conn 15, max-src-conn-rate 5/3, overload <bruteforce> flush global)

# bind is listening on port 53
pass in quick proto tcp to $int_if port 53 keep state
pass in quick proto udp to $int_if port 53 keep state

# Allow essential outgoing traffic
pass out quick on $ext_if proto tcp to any port $int_tcp_services
pass out quick on $ext_if proto udp to any port $int_udp_services

ファイアウォールが無効になっているすべてのインターフェイスはpingを許可します。 net0は、ファイアウォールが有効になっている場合にのみpingを許可します。

解決策はありますか?

答え1

ルールセットにタイプミスがあるようです。 s / set Skip on lo / set Skip on lo0を実行したいです。これにより、ローカルのpingによるファイアウォールの誤った動作が修正されます。 NICにバインドされたアドレスを取得しても、すべてのローカルトラフィックはlo0にバインドされます。スプーフィング防止機能は、これらのpingに対して機能します。

答え2

私はこの基本ですが動作する.confを使って解決策を見つけました。ここ編集して

# Vars
ext_if="net0"
int_if="vnic0"
webports="{443, 80}"

##  make IP reassembly work
set reassemble yes no-df

## ignore loopback traffic
set skip on lo0

# block everything unless told otherwise
# and send TCP-RST/ICMP unreachable
# for every packet which gets blocked
block return in log all
pass out all

# accept incoming SSH connections
pass in proto tcp to $ext_if port 22

# accept webeservers connections
pass in proto tcp to $ext_if port $webports

# accept icmp
pass in proto icmp all

## allow incoming messages from DHCP
pass in inet proto udp from port 67 to port 68
pass in inet6 proto udp from port 547 to port 546

## packet too big - needed for PMTUD
pass in inet6 proto ipv6-icmp icmp6-type 2

## router advertisement
pass in inet6 proto ipv6-icmp icmp6-type 134

## neighbor solicitation
pass in inet6 proto ipv6-icmp icmp6-type 135

## neighbor advertisement
pass in inet6 proto ipv6-icmp icmp6-type 136

## allow all connections initiated from this system,
## including DHCP requests
pass out

関連情報