1.安装时配置两个网卡
1.第一个网卡是仅主机模式 用于ssh连接
2.第二个网卡是NAT模式 用于联网
2.根据特定的网络管理方式来配置网卡
1.nmcli的Ubuntu图形化方式管理
2.配置文件
3.其他问题排查
1.可以ping通主机, 不能ping通虚拟机
问题描述:这是我的网络配置
2: ens33: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
link/ether 00:0c:29:b7:da:e7 brd ff:ff:ff:ff:ff:ff
altname enp2s1
inet 192.168.72.129/24 brd 192.168.72.255 scope global noprefixroute ens33
valid_lft forever preferred_lft forever
inet6 fe80::8df3:e800:4a57:b0c/64 scope link noprefixroute
valid_lft forever preferred_lft forever
3: ens34: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
link/ether 00:0c:29:b7:da:f1 brd ff:ff:ff:ff:ff:ff
altname enp2s2
inet 192.168.72.128/24 brd 192.168.72.255 scope global dynamic noprefixroute ens34
valid_lft 1418sec preferred_lft 1418sec
inet6 fe80::3948:38fe:8cbb:39f8/64 scope link noprefixroute
valid_lft forever preferred_lft forever
你应该可以看到, 我的ens34是临时的, ens33是永久的
ens33是仅主机模式
ens34是nat模式
为什么我的主机只可以ssh连接到ens34的地址
却连接不到ens33的地址呢
回答如下:
根据你提供的网络配置信息,看起来你的 ens33
接口配置为永久地址(permanent
),而 ens34
接口配置为临时地址(dynamic
)。这可能导致你只能通过 ens34
的地址进行 SSH 连接。
首先,确保你的网络设置允许通过 ens33
接口进行 SSH 连接。你可以检查防火墙设置,确认是否允许 SSH 连接到 ens33
的地址。可以尝试以下步骤:
- 检查防火墙设置:
确保防火墙允许 SSH 连接到ens33
的地址。你可以使用以下命令查看当前防火墙规则:
如果有防火墙规则限制了对sudo iptables -L
ens33
的访问,你可以添加规则来允许 SSH 连接:
这会允许来自sudo iptables -A INPUT -i ens33 -p tcp --dport 22 -j ACCEPT
ens33
接口的 SSH 连接。 - 确认SSH服务监听的接口:
确保 SSH 服务正在监听ens33
的地址。编辑SSH配置文件/etc/ssh/sshd_config
,找到ListenAddress
行,确保它包含ens33
的IP地址:
如果没有这一行或者是注释掉了(被ListenAddress 192.168.72.129
#
符号注释),添加这一行并保存文件。然后重新启动 SSH 服务:
这将确保 SSH 服务在sudo systemctl restart sshd
ens33
的地址上监听连接请求。
如果你完成了这些步骤但仍然无法通过ens33
的地址进行 SSH 连接,请检查你的网络配置、防火墙规则和 SSH 服务设置,确保一切都正确配置。如果还有问题,请告诉我具体的错误信息或表现,我会尽力帮助你解决。
2.注意静态地址要和动态的IP地址在同一个网段
比如动态的地址是 192.168.72.128
那么静态的也应该是192.168.72.xx
3. 如果做到以上内容之后, 还有问题
我假设你使用的nmcli管理
1.你点击虚拟机的右上角打开网络设置, 点击那个 仅主机模式的网卡, 也就是ens33
2.点击 wired settings选项, 进入管理页面
3.把这个网卡关闭(原来就是开着的), 然后再打开
你会发现, 你ssh连接有效了, 他从 time out 变成了 refused
并且主机也可以ping通虚拟机了
4.最后一步, 打开虚拟机的控制台
输入这个重启ssh服务
sudo systemctl restart sshd
然后你就奇迹般的发现, 可以连上了
这个问题真恶心啊, 恶心了我好几天
以前都没碰到过这种事, 可能是ubuntu版本太新了用了22.04的版本
以前用20.04就没什么问题, 改个配置文件就好了