Yum kann auf dem Gast nicht verwendet werden. Vermute, dass die Port-80-Weiterleitung in iptables auf dem Host die Ursache ist?

Yum kann auf dem Gast nicht verwendet werden. Vermute, dass die Port-80-Weiterleitung in iptables auf dem Host die Ursache ist?

Was ist falsch an diesem Setup? Sowohl Host als auch Gast sind CentOS 6.5

Insbesondere kann ich Yum nicht auf dem Gast ausführen.

Ich kann problemlos Pings zum/vom Gast senden, einschließlich Pings von mirrorlist.centos.org

Wenn ich die Regel für Port 80 aus den Host-IPTables entferne (siehe unten), funktioniert Yum einwandfrei. Aber ich brauche diese Regel, damit ich den Gast als öffentlich zugänglichen Webserver verwenden kann.

yum update-Ausgabe:

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

Der Gast hat die IP-Adresse 192.168.122.47 und die SSH-Portweiterleitung, die ich unten eingerichtet habe, funktioniert, Yum jedoch nicht.

Gast-IPtables wurden deaktiviert.

Hosten Sie 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

Antwort1

Sie verwenden zu viel NAT; Sie verwenden NAT nicht nurIngebundene Verbindungen an Port 80, aberausauch gebundene. Ändern Sie die NAT-Regel, um anzugeben, dass der Datenverkehr von außen kommen muss, z. B.

-A PREROUTING -p tcp -m tcp -i eth0 --dport 80 -j DNAT --to-destination 192.168.122.47:80

Außerdem wird die Zuordnung (und Störung) des legitimen ausgehenden Datenverkehrs zu externen Webservern beendet.

verwandte Informationen