брандмауэр pf блокирует обновление raspbian apt-get

брандмауэр pf блокирует обновление raspbian apt-get

Я подключаю свой Raspberry Pi 3 (Raspbian Stretch) к MacPro (10.13.2; High Sierra) к порту Ethernet 802.3, который является частью мостового адаптера ( bridge100), используя функцию Internet Share. Интерфейс Интернета на Mac en2(беспроводной).

Хотя я могу выполнить ping google.comили mirrordirector.raspbian.org, но когда я пытаюсь обновить пакеты, apt-get зависает навсегда:

# apt-get update
0% [Connecting to mirrordirector.raspbian.org (93.93.128.193)] [Connecting to archive.raspberrypi.org (93.93.130.104)]

Когда я отключаю pf firewall на mac, он начинает работать. Мои правила pf следующие:

LAN="bridge100"
WLAN="en2"

dns="53"
ntp="123"

set fingerprints "/etc/pf.os"
set skip on lo
set block-policy drop

set ruleset-optimization basic
set optimization normal
set timeout { tcp.established 600, tcp.closing 60 }
scrub in all no-df fragment reassemble
antispoof log quick for { lo $LAN $WLAN }


block all
block in log quick from no-route to any

pass in quick on { $LAN $WLAN } proto { udp tcp } from any to any port $dns keep state
pass in quick proto udp from any port 67 to any port 68
pass in proto udp from any to port $ntp

pass in inet proto icmp from 10.8.0.0/24
pass in inet proto icmp from 192.168.1.0/24
pass in inet proto icmp from 192.168.2.0/24
pass in inet proto icmp from 172.16.42.0/24

pass out all

Какое правило мне использовать, чтобы разрешить apt-get update. Я думал, pass out allчто сделаю это, но, похоже, я не совсем понимаю pf firewall. Пожалуйста, помогите.

решение1

Ну, наконец-то я понял это. Проблема была сложная.

1 - У меня были следующие правила перенаправления, о которых я не знал:

rdr pass inet proto tcp from any to any port 80 -> 127.0.0.1 port 8080
rdr pass inet proto tcp from any to any port 443 -> 127.0.0.1 port 8443

Поэтому я закомментировал их, потому что apt-get использует порт 80 (и, вероятно, 443)

2 - Главное. Когда тикаешьИнтернет-обменфлажок вПредпочтения, MacOS динамически добавляет следующие якоря pf:

nat-anchor "com.apple.internet-sharing" all
rdr-anchor "com.apple.internet-sharing" all

scrub-anchor "com.apple.internet-sharing" all fragment reassemble
anchor "com.apple.internet-sharing" all

Запустите, sudo pfctl -saчтобы убедиться, что эти якоря включены. Если нет, то просто снимите галочку и снова поставьте галочкуИнтернет-обменфлажок в системе MacOSПредпочтения.

Связанный контент