O problema é que existe um firewall padrão configurado no host Fedora e seu conjunto de regras acaba rejeitando pacotes de entrada da interface de rede somente host do VirtualBox. Se olharmos para as regras abaixo, vemos que icmp
pacotes são permitidos. Esta é a razão pela qual ping
funciona.
[alexandru@the-host ~]$ sudo iptables -vL -t filter
Chain INPUT (policy ACCEPT 0 packets, 0 bytes)
pkts bytes target prot opt in out source destination
435K 493M ACCEPT all -- any any anywhere anywhere state RELATED,ESTABLISHED
15 1559 ACCEPT icmp -- any any anywhere anywhere
20 1054 ACCEPT all -- lo any anywhere anywhere
51 11040 ACCEPT udp -- any any anywhere 224.0.0.251 state NEW udp dpt:mdns
25148 1821K REJECT all -- any any anywhere anywhere reject-with icmp-host-prohibited
Chain FORWARD (policy ACCEPT 0 packets, 0 bytes)
pkts bytes target prot opt in out source destination
0 0 REJECT all -- any any anywhere anywhere reject-with icmp-host-prohibited
Chain OUTPUT (policy ACCEPT 332K packets, 39M bytes)
pkts bytes target prot opt in out source destination
A possibilidade de um firewall passou pela minha cabeça quando vi !X
aparecendo na saída tracerout
, sobre a qual a página man diz: 'comunicação administrativamente proibida'. Se observarmos as regras de firewall acima, poderemos ver que os pacotes traceroute
udp
estavam atingindo a última regra de REJECT
abrangentes da corrente INPUT
.
Mais tarde, quando depurei com nmap
:
axirma@the-guest:~$ nmap -Pn -T4 192.168.57.1
Starting Nmap 6.00 ( http://nmap.org ) at 2013-11-12 16:28 EET
Nmap scan report for 192.168.57.1
Host is up (0.95s latency).
All 1000 scanned ports on 192.168.57.1 are filtered
Nmap done: 1 IP address (1 host up) scanned in 35.69 seconds
Ele disse que todas as portas rastreadas são filtradas, sobre as quais a página principal diz: "... significa que um firewall, filtro ou outro obstáculo da rede está bloqueando a porta".
Depois de entender a saída iptables
, ficou claro que eu precisava adicionar uma regra de firewall adicional para que a comunicação desejada ocorresse. Minha solução pessoal é a seguinte adição a /etc/sysconfig/iptables
:
-A INPUT -i vboxnet0 -j ACCEPT
, pouco antes do todo o REJECT
da cadeia INPUT
. vboxnet0
é a interface de rede somente de host criada no VirtualBox.