大家好,又见面了,我是你们的朋友全栈君。
刚上手linux,我用的是VMare Workstation虚拟机,装的是Ubuntu操作系统,就遇到虚拟机不能上网问题,以及xshell连接虚拟机失败。网上找了好多相关问题的解决方案,在懵懵懂懂中终于解决了上述问题。记录一下,以供参考
1.首先 window r 输入 cmd 进入命令行输入: ipconfig 可以看到如下:重点关注:
本机的ip是192.168.3.16 子网掩码是255.255.255.0(也就是说ip为192.168.3.x的电脑才算是和我的电脑处于同一号段,在局域网中只有处于同一号段的才能进行远程连接通信和互相ping同ip:[补充以下:如果子网掩码是255.255.0.0,那么ip是192.168.x.x的就算是处于同一号段])
2.打开网络适配器:
这里我们需要将VMnet8的ip指定为192.168.x.x (这里我设置的是192.168.25.1,可以参照我的来设置,192.168是从cmd「命令行里查出来的,25.1可在0~255间随便命名)
注:如果自己的电脑不能上网,需要检查是否设置的为自动获取ip [使用自己配置的ip一般不对]
打开vm的编辑===>虚拟网络编辑器:更改相应配置如下:(因为我使用的是nat模式,它可以和主机共享ip,所以即使子网掩码是255.255.255.0,我只需要虚拟机的前两个字段192.168和主机的一致,那么虚拟机就可以和主机之间互相通信,但如果使用的是桥接模式,那么就必须要前三个字段一致,192.168.3.x)
3.分别打开主机,虚拟机的终端:使用ping命令互相ping ip 测试二者间能否互相通信:
4.使用xshell连接虚拟机:
首先需要在虚拟机上安装ssh服务
代码语言:javascript复制$ sudo apt-get install openssh-server #安装ssh
$ sudo /etc/init.d/ssh start #启动服务
$ ps -e|grep ssh #.检查服务是否启动成功
$ sudo /etc/init.d/ssh start #启动SSH命令
$ sudo /etc/init.d/ss stop #停止SSH命令,重新连接你会发现不能再连接上了
$ sudo /etc/init.d/ss restart #重启SSH命令
$ sudo vim /etc/ssh/sshd_config #系统默认端口为22,修改可执行命令:
$ sudo /etc/init.d/ss stop #先停止
$ sudo apt-get remove openssh-sftp-server #再卸载sftp服务
$ sudo apt-get remove openssh-server #卸载openssh-server服
代码语言:javascript复制sudo ufw status #检查防火墙状态
sudo ufw disable #关闭防火墙 或者 service iptables stop #iptables防火墙
sudo ufw allow 22 #开放22端口
打开xshell,点击文件,新建,弹出的会话框中输入你的远程主机的ip(192.168.25.128),他就会弹出对话框,教你输入linux的用户名和密码
但遇到点背的,比如说我,(虚拟机和主机能互ping ip,xhell中注入liunx的ip后,没有弹出输入用户名的对话框,窗口报错说连接失败)。你就需要先新建一个会话,然后在黑框中ping 一下linux的ip,再双击新建会话,才会弹出输入用户名的框
如果点更背,以上操作都不行,还可以考虑通过配置文件来修改ip(指定静态ip,动态ip)
代码语言:javascript复制vim /etc/network/interfaces #ubuntu是这样,默认的网卡名是ens33,centos则为/etc/sysconfig/ifconfig eth0 默认网卡名eth0
在文件中添加如下内容(再输入命令重启network============sudo /etc/init.d/networking restart):
代码语言:javascript复制#auto ens33
iface ens33 inet dhcp #设置ip为动态ip
#iface ens33 inet static #注释dhcp行,释放下面的行,再根据自生情况配置正确的address========ip地址,netmask=========子网掩码,gateway=========网关
#address 192.168.3.127
#netmask 255.255.0.0
#gateway 192.168.43.1
#dns-nameservers 114.114.114.114 #配置dns才能上网
再做如下更改:
代码语言:javascript复制2、执行 vim /etc/NetworkManager/NetworkManager.conf 将managed=false 改成true
3、执行vim /etc/resolvconf/resolv.conf.d/base 然后加入 nameserver 你的DNS服务器IP
4、重启机器。应该就可以上网了。
解决了这些问题,终于可以开始我的分布式学习了,也对linux有了了解,开心。哈哈。
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/193108.html原文链接:https://javaforall.cn