0

I am running libvirt/qemu-kvm on Fedora32, guest OS is win10 with spice-guest-tool in use.

I use 'nat' mode virtual networking.

root@fedora ~]# virsh net-dumpxml default
<network connections='1'>
  <name>default</name>
  <uuid>36ca4070-160a-47bf-b35e-aa7bee028ec1</uuid>
  <forward mode='nat'>
    <nat>
      <port start='1024' end='65535'/>
    </nat>
  </forward>
  <bridge name='virbr0' stp='on' delay='0'/>
  <mac address='52:54:00:e1:1e:c3'/>
  <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>

While guest is running, 'brctl show' seems fine.

[root@fedora ~]# brctl show
bridge name bridge id       STP enabled interfaces
virbr0      8000.525400e11ec3   yes     virbr0-nic
                                        vnet0

On host I can ping guest by its ip (192.168.122.159).

On guest, I can access internet, also can ssh to my host, but failed to access samba and ftp on my host.

For example, I type 'net view \192.168.122.1' on guest, host 'tcpdump -i vnet0' shows:

15:47:39.041395 IP 192.168.122.159.49717 > fedora.bear.microsoft-ds: Flags [S], seq 160880283, win 64240, options [mss 1460,nop,wscale 8,nop,nop,sackOK], length 0
15:47:39.041526 IP fedora.bear > 192.168.122.159: ICMP fedora.bear tcp port microsoft-ds unreachable, length 60

And 'net view' eventually reports 'System error 53: network path not found'. I also checked 'iptables -L -v' (too verbose to paste here), no one got 'REJECT'ed.

In case of 'ftp', it is similar to 'samba'.

15:54:13.232366 IP 192.168.122.159.49721 > fedora.bear.ftp: Flags [S], seq 669575524, win 8192, options [mss 1460,nop,wscale 0,nop,nop,sackOK], length 0
15:54:13.232468 IP fedora.bear > 192.168.122.159: ICMP fedora.bear tcp port ftp unreachable, length 60

It seems that host can not send package back to guest.

Am I missing something? What could be the cause? Thanks.

================= some further information ==========================

I can samba to my host from other machine in same lan. I also built a CentOS guest, and can ssh from host to CentOS guest. But while I tried to 'sbmclient' or 'ftp' from CentOS guest to host, I got same tcpdump output and failed. I am sure on both guest, firewall are turned off.

I checked 'iptables -L -nv ' and 'iptables -L -nv -t nat' on host, no packet got 'REJECT'ed or 'DROP'ed.

They looks like this:

# iptables -L -nv
Chain INPUT (policy ACCEPT 44448 packets, 26M bytes)
 pkts bytes target     prot opt in     out     source               destination         
56062   39M LIBVIRT_INP  all  --  *      *       0.0.0.0/0            0.0.0.0/0

Chain FORWARD (policy ACCEPT 0 packets, 0 bytes) pkts bytes target prot opt in out source destination
19164 23M LIBVIRT_FWX all -- * * 0.0.0.0/0 0.0.0.0/0
19164 23M LIBVIRT_FWI all -- * * 0.0.0.0/0 0.0.0.0/0
9254 1076K LIBVIRT_FWO all -- * * 0.0.0.0/0 0.0.0.0/0

Chain OUTPUT (policy ACCEPT 16104 packets, 2140K bytes) pkts bytes target prot opt in out source destination
24639 3195K LIBVIRT_OUT all -- * * 0.0.0.0/0 0.0.0.0/0

Chain LIBVIRT_FWI (1 references) pkts bytes target prot opt in out source destination
9910 22M ACCEPT all -- * virbr0 0.0.0.0/0 192.168.122.0/24 ctstate RELATED,ESTABLISHED 0 0 REJECT all -- * virbr0 0.0.0.0/0 0.0.0.0/0 reject-with icmp-port-unreachable

Chain LIBVIRT_FWO (1 references) pkts bytes target prot opt in out source destination
9254 1076K ACCEPT all -- virbr0 * 192.168.122.0/24 0.0.0.0/0
0 0 REJECT all -- virbr0 * 0.0.0.0/0 0.0.0.0/0 reject-with icmp-port-unreachable

Chain LIBVIRT_FWX (1 references) pkts bytes target prot opt in out source destination
0 0 ACCEPT all -- virbr0 virbr0 0.0.0.0/0 0.0.0.0/0

Chain LIBVIRT_INP (1 references) pkts bytes target prot opt in out source destination
84 5753 ACCEPT udp -- virbr0 * 0.0.0.0/0 0.0.0.0/0 udp dpt:53 0 0 ACCEPT tcp -- virbr0 * 0.0.0.0/0 0.0.0.0/0 tcp dpt:53 7 2356 ACCEPT udp -- virbr0 * 0.0.0.0/0 0.0.0.0/0 udp dpt:67 0 0 ACCEPT tcp -- virbr0 * 0.0.0.0/0 0.0.0.0/0 tcp dpt:67

Chain LIBVIRT_OUT (1 references) pkts bytes target prot opt in out source destination
0 0 ACCEPT udp -- * virbr0 0.0.0.0/0 0.0.0.0/0 udp dpt:53 0 0 ACCEPT tcp -- * virbr0 0.0.0.0/0 0.0.0.0/0 tcp dpt:53 7 2335 ACCEPT udp -- * virbr0 0.0.0.0/0 0.0.0.0/0 udp dpt:68 0 0 ACCEPT tcp -- * virbr0 0.0.0.0/0 0.0.0.0/0 tcp dpt:68

and

# iptables -L -nv -t nat
Chain PREROUTING (policy ACCEPT 3487 packets, 3421K bytes)
 pkts bytes target     prot opt in     out     source               destination

Chain INPUT (policy ACCEPT 2495 packets, 3341K bytes) pkts bytes target prot opt in out source destination

Chain OUTPUT (policy ACCEPT 238 packets, 27046 bytes) pkts bytes target prot opt in out source destination

Chain POSTROUTING (policy ACCEPT 227 packets, 24846 bytes) pkts bytes target prot opt in out source destination
1560 169K LIBVIRT_PRT all -- * * 0.0.0.0/0 0.0.0.0/0

Chain LIBVIRT_PRT (1 references) pkts bytes target prot opt in out source destination
9 1010 RETURN all -- * * 192.168.122.0/24 224.0.0.0/24
0 0 RETURN all -- * * 192.168.122.0/24 255.255.255.255
84 4472 MASQUERADE tcp -- * * 192.168.122.0/24 !192.168.122.0/24 masq ports: 1024-65535 144 14416 MASQUERADE udp -- * * 192.168.122.0/24 !192.168.122.0/24 masq ports: 1024-65535 0 0 MASQUERADE all -- * * 192.168.122.0/24 !192.168.122.0/24

0 Answers0