我可以SSH到一个界面,但不能另一个界面

时间:2019-06-13 19:26:47

标签: ubuntu ssh virtual-machine

我最近使用映像文件ubuntu-18.04-server-cloudimg-amd64.img启动了一个新的Ubuntu 18.04虚拟机。虚拟机启动时,已经有一个 ens3 接口,我的KVM主机为其分配了默认的192.0.2.100/24 IP地址。

但是我需要两个新界面,所以我也手动创建了它们。它们分别是ens4和ens5:

root@ubuntu:~# ifconfig ens4 10.0.0.10/24
root@ubuntu:~# ifconfig ens5 10.10.10.20/24
root@ubuntu:~#
root@ubuntu:~# ifconfig
ens3: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 192.0.2.100  netmask 255.255.255.0  broadcast 192.0.2.255
        inet6 fe80::f6a7:39ff:fe24:6fd3  prefixlen 64  scopeid 0x20<link>
        ether f4:a7:39:24:6f:d3  txqueuelen 1000  (Ethernet)
        ...etc...

ens4: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 10.0.0.10  netmask 255.255.255.0  broadcast 10.0.0.255
        inet6 fe80::f6a7:39ff:fe24:6fd2  prefixlen 64  scopeid 0x20<link>
        ether f4:a7:39:24:6f:d2  txqueuelen 1000  (Ethernet)
        ...etc...

ens5: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 10.10.10.20  netmask 255.255.255.0  broadcast 192.168.71.255
        inet6 fe80::f6a7:39ff:fe24:6fda  prefixlen 64  scopeid 0x20<link>
        ether f4:a7:39:24:6f:da  txqueuelen 1000  (Ethernet)
        ...etc...

root@ubuntu:~#

目前,我仅关注ens3和ens5。我注意到我可以从主机ping这两个接口:

root@KVMhost:~# ping 192.0.2.100
PING 192.0.2.100 (192.0.2.100) 56(84) bytes of data.
64 bytes from 192.0.2.100: icmp_seq=1 ttl=64 time=0.104 ms
64 bytes from 192.0.2.100: icmp_seq=2 ttl=64 time=0.076 ms
64 bytes from 192.0.2.100: icmp_seq=3 ttl=64 time=0.088 ms
^C
--- 192.0.2.100 ping statistics ---
3 packets transmitted, 3 received, 0% packet loss, time 1999ms
rtt min/avg/max/mdev = 0.076/0.089/0.104/0.013 ms
root@KVMhost:~#
root@KVMhost:~# ping 10.10.10.20
PING 10.10.10.20 (10.10.10.20) 56(84) bytes of data.
64 bytes from 10.10.10.20: icmp_seq=1 ttl=64 time=0.216 ms
64 bytes from 10.10.10.20: icmp_seq=2 ttl=64 time=0.158 ms
64 bytes from 10.10.10.20: icmp_seq=3 ttl=64 time=0.100 ms
^C
--- 10.10.10.20 ping statistics ---
3 packets transmitted, 3 received, 0% packet loss, time 1999ms
rtt min/avg/max/mdev = 0.100/0.158/0.216/0.047 ms
root@KVMhost:~#

我也可以反方向ping通两个接口。因此网络第3层起作用。到目前为止,一切都很好。

这是一个很奇怪的部分...使用与上面相同的IP,我可以从主机SSH到Ubuntu的ens3:

root@KVMhost:~# ssh ubuntu@192.0.2.100
ubuntu@192.0.2.100's password: *******
Welcome to Ubuntu 18.04 LTS (GNU/Linux 4.15.0-20-generic x86_64)

Last login: Thu Jun 13 17:46:15 2019 from 192.0.2.254
ubuntu@ubuntu:~$

但是一旦我尝试对Ubuntu的ens5进行同样的操作,我将无法连接:

root@KVMhost:~# ssh ubuntu@10.10.10.20
ssh: connect to host 10.10.10.20 port 22: Connection timed out
root@KVMhost:~#
root@KVMhost:~#

我在Ubuntu上进行了TCPdump,然后再次尝试了第二次SSH测试,这就是我看到的内容:

root@ubuntu:~# tcpdump -i ens5
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on ens5, link-type EN10MB (Ethernet), capture size 262144 bytes
19:08:05.171265 IP 10.10.10.10.46988 > ubuntu.ssh: Flags [S], seq 4112466036, win 29200, options [mss 1460,sackOK,TS val 2621364955 ecr 0,nop,wscale 9], length 0
19:08:05.171295 IP ubuntu.ssh > 10.10.10.10.46988: Flags [S.], seq 2729080149, ack 4112466037, win 28960, options [mss 1460,sackOK,TS val 3132539741 ecr 2621364955,nop,wscale 7], length 0
19:08:06.171804 IP 10.10.10.10.46988 > ubuntu.ssh: Flags [S], seq 4112466036, win 29200, options [mss 1460,sackOK,TS val 2621365956 ecr 0,nop,wscale 9], length 0
19:08:06.171824 IP ubuntu.ssh > 10.10.10.10.46988: Flags [S.], seq 2729080149, ack 4112466037, win 28960, options [mss 1460,sackOK,TS val 3132540741 ecr 2621364955,nop,wscale 7], length 0
^C
root@ubuntu:~#

因此,来自KVM主机的SSH数据包已成功遍历连接并到达Ubuntu VM!但是,当我查看 /var/log/auth.log 日志时,没有看到主机尝试连接的记录。实际上,根本没有引用尝试连接的主机。

所以,我很困惑。这可能是Ubuntu的事情,我必须在新接口上明确启用SSH吗?还是这是一些奇怪的虚拟化事情?我有点怀疑前者。

谢谢!

0 个答案:

没有答案