Esto me está volviendo un poco loco. Creé una instancia de AWS y no puedo hacer ssh desde mi Macbook. Puedo ssh en otro lado. Puedo ssh desde otras máquinas en la misma red a la instancia de AWS. Entonces no es mi firewall, y no es mi instancia de AWS.
¿Qué podría impedir que mi Macbook salga de SSH a una IP o rango de IP en particular?
xxx@yyy:~/notes/Software/AWS $ tcpdump tcp port 22 &tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on en0, link-type EN10MB (Ethernet), capture size 65535 bytes
ssh 54.247.29.171
ssh: connect to host 54.247.29.171 port 22: Connection refused
xxx@yyy:~/notes/Software/AWS $ ssh 50.247.29.171
10:45:47.857206 IP 172.31.255.253.56694 > 50.247.29.171.ssh: Flags [S], seq 3668893593, win 65535, options [mss 1460,nop,wscale 3,nop,nop,TS val 128333370 ecr 0,sackOK,eol], length 0
Se parece a un cortafuegos o enrutamiento, pero el enrutamiento es muy simple y el firewall de mi Macbook está deshabilitado. Voy a reiniciar pronto para probar eso, pero realmente quiero saber más sobre cómo funcionan las Mac y por qué esta conexión podría no funcionar.
Desde tcpdump, puedes ver arriba que ni siquiera está intentando conectarse a 54.247.29.171. Pero si le doy una IP falsa 50.247.29.171, al menos envía un paquete.
A continuación, puedes ver que se está refiriendo al enrutamiento de alguna manera
xxx@yyy :~/notes/Software/AWS $ traceroute 54.247.29.171
traceroute to 54.247.29.171 (54.247.29.171), 64 hops max, 40 byte packets
traceroute: sendto: No route to host
1 traceroute: wrote 54.247.29.171 40 chars, ret=-1
^C
Pero nada me salta:
xxx@yyy :~/notes/Software/AWS $ netstat -nr
Routing tables
Internet:
Destination Gateway Flags Refs Use Netif Expire
default 172.31.255.1 UGSc 10 16 en0
127 127.0.0.1 UCS 0 0 lo0
127.0.0.1 127.0.0.1 UH 0 73859 lo0
169.254 link#4 UCS 0 0 en0
172.31.255/24 link#4 UCS 3 0 en0
172.31.255.1 0:e0:52:aa:bb:cc UHLWI 12 231 en0 1176
172.31.255.18 0:26:ab:dd:ee:ff UHLWI 0 0 en0 1182
172.31.255.253 127.0.0.1 UHS 0 0 lo0
¿Pensamientos? Esto debe ser algo realmente simple.
Pensé que tal vez era mi programa de torrent, la transmisión, pero deshabilité la lista negra de pares y esperaba que usara ipfw o algo así.
No estoy seguro de si esto cubriría todo, ¿hay alguna otra forma de bloquear las conexiones salientes ?:
$ sudo ipfw list
65535 allow ip from any to any
Actualizaciones:
- un reinicio no lo solucionó.
- La imagen de Mi VirtualBox Debian en mi Macbook tampoco puede alcanzarla
Según lo solicitado
$ ssh -v 54.247.29.171
OpenSSH_5.2p1, OpenSSL 0.9.8r 8 Feb 2011
debug1: Reading configuration data /etc/ssh_config
debug1: Connecting to 54.247.29.171 [54.247.29.171] port 22.
debug1: connect to address 54.247.29.171 port 22: Connection refused
ssh: connect to host 54.247.29.171 port 22: Connection refused
En la prueba a continuación, parece que el puerto 80 está funcionando ... algo está bloqueando el puerto de salida 22 para este host en particular.
Desde que encontré ppload en la lista de tareas, es el proceso del guardián del par. Olvidé que incluso lo había instalado, pero explicaría este comportamiento (incluso el puerto 80). Lo maté, pero el bloque se mantuvo en su lugar. Lo he desinstalado desde entonces, pero todavía tengo que reiniciar. (Yo estaba desatando a Libreoffice y no quería recibir un aviso de eliminación :-))
¿Cómo podrían los peerguardianos realizar tal bloqueo? En Linux, no es tan fácil ver todas las reglas de firewall como "lista de ipfw", se perderán las tablas como el pre-enrutamiento, etc. ¿Hay otras 'tablas' o equivalentes en MacOS?
xxx@yyy:~ $ tcpdump host 54.247.29.171&
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on en0, link-type EN10MB (Ethernet), capture size 65535 bytes
xxx@yyy:~ $ ssh -v 54.247.29.171&
OpenSSH_5.2p1, OpenSSL 0.9.8r 8 Feb 2011
debug1: Reading configuration data /etc/ssh_config
debug1: Connecting to 54.247.29.171 [54.247.29.171] port 22.
debug1: connect to address 54.247.29.171 port 22: Connection refused
ssh: connect to host 54.247.29.171 port 22: Connection refused
xxx@yyy:~ $ telnet 54.247.29.171 22
Trying 54.247.29.171...
telnet: connect to address 54.247.29.171: Connection refused
telnet: Unable to connect to remote host
xxx@yyy:~ $ telnet 54.247.29.171 80
Trying 54.247.29.171...
telnet: connect to address 54.247.29.171: Connection refused
telnet: Unable to connect to remote host
xxx@yyy:~ $ 09:09:35.738770 IP 172.31.255.11.49874 > ec2-54-247-29-171.eu-west-1.compute.amazonaws.com.http: Flags [S], seq 3011923576, win 65535, options [mss 1460,nop,wscale 3,nop,nop,TS val 573636510 ecr 0,sackOK,eol], length 0
09:09:35.841506 IP ec2-54-247-29-171.eu-west-1.compute.amazonaws.com.http > 172.31.255.11.49874: Flags [R.], seq 0, ack 3011923577, win 0, length 0