
Estoy conectando mi raspberry pi 3 (raspbian stretch) a mi Macpro (10.13.2; High Sierra) al puerto Ethernet 802.3 que forma parte del adaptador puenteado ( bridge100
) usando la función Compartir Internet. La interfaz de Internet en Mac es en2
(inalámbrica).
Aunque puedo hacer ping google.com
o mirrordirector.raspbian.org
, cuando intento actualizar paquetes, apt-get se bloquea para siempre:
# apt-get update
0% [Connecting to mirrordirector.raspbian.org (93.93.128.193)] [Connecting to archive.raspberrypi.org (93.93.130.104)]
Cuando desactivo pf firewall en la mac, comienza a funcionar. Mis reglas pf son las siguientes:
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
¿Qué regla debo usar para permitir apt-get update
? Pensé pass out all
que lo haría, pero parece que no entiendo completamente el firewall. Por favor ayuda.
Respuesta1
Bueno, finalmente he descubierto esto. El problema era complejo.
1 - Tenía las siguientes reglas de redireccionamiento que no conocía:
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
Entonces los comenté porque apt-get usa el puerto 80 (y probablemente el 443)
2 - Lo principal. al hacer tictacCompartiendo por medio de Internetcasilla de verificación enPreferencias, MacOS agrega dinámicamente los siguientes anclajes 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
Corre sudo pfctl -sa
para asegurarte de que esos anclajes estén incluidos. Si no es así, simplemente desmarque y vuelva a marcarCompartiendo por medio de Internetcasilla de verificación en el sistema MacOSPreferencias.