对于一个初学linux的人来说,一般对不会直接拿真机做各种实验,那么都会在真机上装一个用来做测试的虚拟机,那么就会出现一个比较重要的问题就是虚拟机与真机之间的通信,比如你会将真机的一些安装包用scp命令远程拷贝到虚拟机上,那么就需要配置你真机和虚拟机的网络,如果想要实现远程拷贝,那么就要用到桥接技术。
物理机为redhat 7.0 虚拟机也是redhat 7.0。
(一)首先我们来配置真机的网络:
[root@localhost network-scripts]# pwd
/etc/sysconfig/network-scripts
[root@localhost network-scripts]# vim ifcfg-enp1s0
在此文件内写入以下内容:
DEVICE="enp1s0"
BOOTPROTO=static
BRIDGE=br0
ONBOOT=yes
IPADDR=192.168.3.133
NETMASK=255.255.255.0
(二)配置我们的桥接文件:
[root@localhost network-scripts]# vim ifcfg-br0
在桥接文件内写入以下内容:
DEVICE="br0"
ONBOOT=yes
BOOTPROTO=static
TYPE=Bridge
IPADDR=192.168.3.132
NETMASK=255.255.255.0
(三)配置虚拟机内的网卡文件
[root@localhost network-scripts]# pwd
/etc/sysconfig/network-scripts
[root@localhost network-scripts]# vim ifcfg-ens3
在此文件内写入以下内容:
DEVICE="ens3"
TYPE=Etherent
BOOTPROTO=static
ONBOOT=yes
NAME=ens3
IPADDR=192.168.3.244
重启网络:
[root@localhost network-scripts]# systemctl restart network
现在我们再来查看虚拟机的ip:
同样在真机中重启网络后,查看其ip:
至此redhat的网络已配置完,物理机ip为:192.168.3.132 ,虚拟机为:192.168.3.244
当我们使用ssh远程登陆时:
[root@localhost network-scripts]# ssh [email protected]
竟然出现了错误:
ssh: connect to host 192.168.3.244 port 22: No route to host
下面给出从几个方面检查:
(1)检查防火墙是否关闭:
iptables -F
(2)查看ssh服务:
[root@localhost network-scripts]# ps -ef | grep ssh
(3)如果你发现你查看进程时只有ssh-agent时,那就说明你的sshd进程就没有运行,就需要启动ssh进程(上图属于正常情况):
(4)重启成功成功后再使用远程登陆,如果还有问题的话:
vim /etc/ssh/sshd_config :
将这两项的注释去掉:
Port 22
Protocol 2
完成以上的排查之后相信你的ssh就能用了:
哈哈果然能用了,昨晚突然ssh命令出问题了,最后还是度娘救了我!!!!今天就把我昨晚遇到问题的解决办法给大家总结了一下。。。。。