
O que há de errado com essa configuração? Tanto o host quanto o convidado são CentOS 6.5
Especificamente, não consigo executar o yum no convidado.
Posso fazer ping facilmente de/para o convidado, incluindo ping em mirrorlist.centos.org
Se eu remover a regra da porta 80 do host iptables (veja abaixo), o yum funcionará bem. Mas preciso que essa regra seja implementada para poder usar o convidado como um servidor da web acessível ao público.
saída de atualização do yum:
Loaded plugins: fastestmirror
Determining fastest mirrors
Could not retrieve mirrorlist http://mirrorlist.centos.org/?release=6&arch=x86_64&repo=os error was
12: Timeout on http://mirrorlist.centos.org/?release=6&arch=x86_64&repo=os: (28, 'connect() timed out!')
Error: Cannot find a valid baseurl for repo: base
O convidado tem um IP 192.168.122.47, e o encaminhamento de porta ssh que configurei abaixo funciona, mas o yum não.
O iptables convidado foi desativado.
Host iptables:
# Generated by iptables-save v1.4.7 on Sat May 10 15:54:24 2014
*filter
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [4:560]
-A INPUT -i virbr0 -p udp -m udp --dport 53 -j ACCEPT
-A INPUT -i virbr0 -p tcp -m tcp --dport 53 -j ACCEPT
-A INPUT -i virbr0 -p udp -m udp --dport 67 -j ACCEPT
-A INPUT -i virbr0 -p tcp -m tcp --dport 67 -j ACCEPT
-A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
-A INPUT -p icmp -j ACCEPT
-A INPUT -i lo -j ACCEPT
-A INPUT -p tcp -m state --state NEW -m tcp --dport 22 -j ACCEPT
-A INPUT -j REJECT --reject-with icmp-host-prohibited
-A FORWARD -d 192.168.122.0/24 -o virbr0 -m state --state NEW,RELATED,ESTABLISHED -j ACCEPT
-A FORWARD -s 192.168.122.0/24 -i virbr0 -j ACCEPT
-A FORWARD -i virbr0 -o virbr0 -j ACCEPT
-A FORWARD -o virbr0 -j REJECT --reject-with icmp-port-unreachable
-A FORWARD -i virbr0 -j REJECT --reject-with icmp-port-unreachable
-A FORWARD -j REJECT --reject-with icmp-host-prohibited
COMMIT
# Completed on Sat May 10 15:54:24 2014
# Generated by iptables-save v1.4.7 on Sat May 10 15:54:24 2014
*mangle
:PREROUTING ACCEPT [4:316]
:INPUT ACCEPT [4:316]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [4:560]
:POSTROUTING ACCEPT [4:560]
-A POSTROUTING -o virbr0 -p udp -m udp --dport 68 -j CHECKSUM --checksum-fill
COMMIT
# Completed on Sat May 10 15:54:24 2014
# Generated by iptables-save v1.4.7 on Sat May 10 15:54:24 2014
*nat
:PREROUTING ACCEPT [0:0]
:POSTROUTING ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
-A PREROUTING -p tcp -m tcp --dport 792 -j DNAT --to-destination 192.168.122.47:22
-A PREROUTING -p tcp -m tcp --dport 80 -j DNAT --to-destination 192.168.122.47:80
-A POSTROUTING -s 192.168.122.0/24 ! -d 192.168.122.0/24 -p tcp -j MASQUERADE --to-ports 1024-65535
-A POSTROUTING -s 192.168.122.0/24 ! -d 192.168.122.0/24 -p udp -j MASQUERADE --to-ports 1024-65535
-A POSTROUTING -s 192.168.122.0/24 ! -d 192.168.122.0/24 -j MASQUERADE
COMMIT
# Completed on Sat May 10 15:54:24 2014
Responder1
Você está usando NAT demais; você está fazendo NAT não apenasemconexões vinculadas à porta 80, masforaos vinculados também. Modifique a regra NAT para especificar que o tráfego deve vir de fora, por exemplo
-A PREROUTING -p tcp -m tcp -i eth0 --dport 80 -j DNAT --to-destination 192.168.122.47:80
e deixará de corresponder (e interferir) no tráfego de saída legítimo para servidores web externos.