Am o mașină virtuală bazată pe QEMU/KVM cu CentosOS 6.4 care nu se poate conecta complet la Internet. Pot da ping la adresele IP (ex. ping 8.8.8.8
funcționează cu succes), dar numele de domenii nu sunt rezolvate (ex. ping google.com
se intoarce ping: gazdă necunoscută google.com
).
Oaspetele are un IP static alocat și folosesc rețeaua implicită (bazată pe NAT):
<network>
<name>default</name>
<uuid>8c257186-7af4-4e19-a086-27f50f692af6</uuid>
<forward mode='nat'/>
<bridge name='virbr0' stp='on' delay='0'/>
<mac address='52:54:00:d6:62:2d'/>
<ip address='192.168.122.1' netmask='255.255.255.0'>
<dhcp>
<range start='192.168.122.2' end='192.168.122.254'/>
</dhcp>
</ip>
</network>
/run/resolvconf/resolv.conf
nu este prezent pe VM; si nici unul dintre rezolvconf
, nslookup
, systemctl
, gazdă
, hostnamectl
, sau nmcli
programele sunt instalate, astfel încât capacitatea de a rula diagnosticarea setărilor de rețea este limitată.
Am încercat următoarele:
- Editare
/etc/sysconfig/network-scripts/ifcfg-eth0
prin adăugarea DNS1=8.8.8.8
, DNS2=8.8.4.4
și PEERDNS=da
. După repornire, aceasta a fost creată /etc/resolv.conf
, care nu a fost prezent inițial.
- Înlocuirea „hosts: files dns” cu „hosts: files dns nisplus nis” în
/etc/nsswitch.conf
, apoi repornind.
- Ca urmare a acest ghid pentru a crea o rețea numai pentru gazdă.
- Ca urmare a acest ghid pentru a crea o punte virtuală prin qemu-bridge-helper.
- (Ca o parte, am încercat să creez un partajare de fișiere între invitat și gazdă prin acest ghid, dar acest lucru necesită 9p, un sistem de fișiere cu care CentOS 6 aparent nu este compatibil.)
Dar cu fiecare încercare, gazda încă nu poate SSH în/ping oaspete și nici oaspete nu poate rezolva numele de domenii. Orice ajutor pentru realizarea oricăruia dintre acești doi pași (gazda poate SSH în invitat; oaspetele este complet conectat la internet) ar fi foarte apreciat.
Iată câteva conținuturi de fișiere/ieșiri din linia de comandă care ar putea fi utile. Încântat să ofer mai multe informații.
Conținutul /etc/resolv.conf
(Oaspete):
opțiuni edns0 trust-ad
; generat de /sbin/dhclient-script
server de nume 8.8.8.8
server de nume 8.8.4.4
Ieșire din ip a
(Oaspete):
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 16436 qdisc noqueue state NECUNOSCUT
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
inet6 ::1/128 scope host
valid_lft pentru totdeauna preferred_lft pentru totdeauna
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
link/ether 52:54:00:7b:6c:27 brd ff:ff:ff:ff:ff:ff
inet 192.168.122.92/22 brd 192.168.123.255 scope global eth0
inet6 fe80::5054ï¬fe7b:6c27/64 scope link
valid_lft pentru totdeauna preferred_lft pentru totdeauna
Ieșire din ssh 192.168.122.92
(Gazdă):
ssh: conectați-vă la gazda 192.168.122.92 portul 22: conexiune refuzată
Ieșire din ping 192.168.122.92
(Gazdă):
PING 192.168.122.92 (192.168.122.92) 56(84) octeți de date.
De la 192.168.122.1 icmp_seq=1 Port de destinație inaccesibil
ping: sendmsg: Operațiunea nu este permisă
De la 192.168.122.1 icmp_seq=2 Port de destinație inaccesibil
ping: sendmsg: Operațiunea nu este permisă
De la 192.168.122.1 icmp_seq=3 Port de destinație inaccesibil
ping: sendmsg: Operațiunea nu este permisă
De la 192.168.122.1 icmp_seq=4 Port de destinație inaccesibil
ping: sendmsg: Operațiunea nu este permisă
^C
--- 192.168.122.92 statistici ping ---
4 pachete transmise, 0 primite, +4 erori, 100% pierdere de pachete, timp 3065 ms
EDITARE 1
Conținutul /etc/sysconfig/network-scripts/ifcfg-eth0
(Oaspete):
DEVICE=eth0
HWADDR=52:54:00:7B:6C:27
TYPE=Ethernet
ONBOOT=da
NM_CONTROLLED=nu
BOOTPRONTO=niciuna
IPADDR=192.168.122.92
NETMASK=255.255.252.0
GATEWAY=192.168.122.1
DNS1=8.8.8.8
DNS2=8.8.4.4
PEERDNS=da
EDITARE 2
Ieșire din iptables-salvare
(Gazdă):
# Generat de iptables-save v1.8.4 pe Luni 3 Ian 22:03:26 2022
*calandru
:ACCEPTAREA PREROUTARE [86972:77359835]
:INPUT ACCEPT [86966:77359331]
: FORWARD ACCEPT [6:504]
: ACCEPT IEȘIRE [87805:9060728]
: POSTROUTING ACCEPT [69226:7583136]
:LIBVIRT_PRT - [0:0]
-A POSTROUTING -j LIBVIRT_PRT
-A LIBVIRT_PRT -o virbr0 -p udp -m udp --dport 68 -j CHECKSUM --checksum-fill
COMMIT
# Finalizat pe Luni 3 Ian 22:03:26 2022
# Generat de iptables-save v1.8.4 pe Luni 3 Ian 22:03:26 2022
*nat
:ACCEPTAREA PRE-ROUTARE [4:1038]
:INPUT ACCEPT [3:954]
: ACCEPT IEȘIRE [19614:1550200]
: POSTROUTING ACCEPT [1032:73142]
:LIBVIRT_PRT - [0:0]
-A POSTROUTING -j LIBVIRT_PRT
-A LIBVIRT_PRT -s 192.168.122.0/24 -d 224.0.0.0/24 -j RETURN
-A LIBVIRT_PRT -s 192.168.122.0/24 -d 255.255.255.255/32 -j RETURN
-A LIBVIRT_PRT -s 192.168.122.0/24 ! -d 192.168.122.0/24 -p tcp -j MASQUERADE --to-ports 1024-65535
-A LIBVIRT_PRT -s 192.168.122.0/24 ! -d 192.168.122.0/24 -p udp -j MASQUERADE --to-ports 1024-65535
-A LIBVIRT_PRT -s 192.168.122.0/24 ! -d 192.168.122.0/24 -j MASQUERADA
COMMIT
# Finalizat pe Luni 3 Ian 22:03:26 2022
# Generat de iptables-save v1.8.4 pe Luni 3 Ian 22:03:26 2022
*filtru
:INPUT ACCEPT [86966:77359331]
: FORWARD ACCEPT [0:0]
: ACCEPT IEȘIRE [69220:7582632]
:LIBVIRT_FWI - [0:0]
:LIBVIRT_FWO - [0:0]
:LIBVIRT_FWX - [0:0]
:LIBVIRT_INP - [0:0]
:LIBVIRT_OUT - [0:0]
-A INTRARE -j LIBVIRT_INP
-A FORWARD -j LIBVIRT_FWX
-A FORWARD -j LIBVIRT_FWI
-A FORWARD -j LIBVIRT_FWO
-A IEȘIRE -j LIBVIRT_OUT
-A LIBVIRT_FWI -d 192.168.122.0/24 -o virbr0 -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT
-A LIBVIRT_FWI -o virbr0 -j REJECT --reject-with icmp-port-unreachable
-A LIBVIRT_FWO -s 192.168.122.0/24 -i virbr0 -j ACCEPT
-A LIBVIRT_FWO -i virbr0 -j REJECT --reject-with icmp-port-unreachable
-A LIBVIRT_FWX -i virbr0 -o virbr0 -j ACCEPT
-A LIBVIRT_INP -i virbr0 -p udp -m udp --dport 53 -j ACCEPT
-A LIBVIRT_INP -i virbr0 -p tcp -m tcp --dport 53 -j ACCEPT
-A LIBVIRT_INP -i virbr0 -p udp -m udp --dport 67 -j ACCEPT
-A LIBVIRT_INP -i virbr0 -p tcp -m tcp --dport 67 -j ACCEPT
-A LIBVIRT_OUT -o virbr0 -p udp -m udp --dport 53 -j ACCEPT
-A LIBVIRT_OUT -o virbr0 -p tcp -m tcp --dport 53 -j ACCEPT
-A LIBVIRT_OUT -o virbr0 -p udp -m udp --dport 68 -j ACCEPT
-A LIBVIRT_OUT -o virbr0 -p tcp -m tcp --dport 68 -j ACCEPT
COMMIT
# Finalizat pe Luni 3 Ian 22:03:26 2022
EDITARE 3
Ieșire din sudo iptables-save
(Oaspete):
# Generat de iptables-save v1.4.7 pe joi 6 ianuarie 05:53:35 2022
*filtru
:INPUT ACCEPT [0:0]
: FORWARD ACCEPT [0:0]
: ACCEPT IEȘIRE [0:0]
-A INTRARE -p tcp -m tcp --dport 22 -m conntrack --ctstate NOU,STABILIT -j ACCEPT
-A IEȘIRE -p tcp -m tcp --sport 22 -m conntrack --ctstate STABILIT -j ACCEPT
COMMIT
# Finalizat joi 6 ianuarie 05:53:35 2022