CentOS7网络配置问题

在虚拟机中安装完CentOS7之后,本来网络配置是不麻烦的,可是偏偏出现了问题,所以把这次虐心的过程记录下来。

环境

虚拟机: VMware Workstation 14

镜像: CentOS-7-x86_64-DVD-1611.iso

网络适配器: 桥接模式(自动)

网络配置

1.使用NetworkManager配置

# nmtui

以上根据自己实际情况配置,点击确定,然后返回到终端

没有该工具使用下面语句安装:

# yum -y install NetworkManager-tui

2.修改ifcfg-ens33配置文件

# cd /etc/sysconfig/network-scripts/

# vi ifcfg-ens33

配置如下:

YPE=Ethernet
BOOTPROTO=static  # 静态IP
DEFROUTE=yes
IPV4_FAILURE_FATAL=yes
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_FAILURE_FATAL=no
IPV6_ADDR_GEN_MODE=stable-privacy
NAME=ens33
UUID=c0d6a6b8-de69-45ff-86ae-1b4865250a27
DEVICE=ens33
ONBOOT=yes     # 系统启动激活
DNS1=114.114.114.114
IPADDR=10.203.87.148
NETMASK=255.255.255.0
PREFIX=32
GATEWAY=10.203.87.254
IPV6_PEERDNS=yes
IPV6_PEERROUTES=yes

主要改BOOTPROTO=static和ONBOOT=yes

3.修改DNS配置

# vi /etc/resolv.conf

内容:

nameserver 114.114.114.114
nameserver 8.8.8.8

4.重启网络服务

# /etc/init.d/network restart

或者

# systemctl restart network.service

然后ping不通外部网络

问题及解决办法

发现的现象

1).使用命令ifconfig ifcfg-ens33查看

ifcfg-ens33:error fetching interface information: Device not found

2).ifcfg-ens33配置内容

重启网络后,BOOTPROTO=static 变成了 BOOTPROTO=none

3).ping网关 不通

4).ip addr

ens33: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
    link/ether 00:0c:29:ff:bd:0c brd ff:ff:ff:ff:ff:ff
    inet 10.203.87.148/32 brd 10.203.87.148 scope global ens33
       valid_lft forever preferred_lft forever
    inet6 fe80::d8c2:956:a6a8:4b57/64 scope link 
       valid_lft forever preferred_lft forever

解决过程

1.执行命令cat /proc/net/dev查看网口状况,发现是存在ens33的

2.查看arp缓冲区

执行命令arp -nv查看arp缓冲区条目

Address:主机的IP地址
Hwtype:主机的硬件类型
Hwaddress:主机的硬件地址

发现没有mac地址,arp表记录了ip地址与真实主机mac地址的对应关系,于是本机给网关发送的网络数据包实际上并没有发给真实的网关,这就是ping不通的原因了

3.删除arp 条目

将10.03.87.254的ARP缓存删除

# arp -d 10.203.87.254

4.添加arp 条目

在能上网的主机上找到网关的mac地址,添加一个arp条目

# arp -s 10.203.87.254 00:1a:a9:15:4e:bd
# apr -f     //刷新

flags mask 的值是C代表这个绑定是保存在缓冲里的
flags mask 的值是CM表示静态网关,可以防止ARP欺骗
    打开或建立/etc/ethers,添加内容:
        10.203.87.254 00:1a:a9:15:4e:bd
    这样就可以实现静态网关了

如果不和局域网通信,可以把arp解析关掉

# ifconfig ens33 -arp

然后发现当我ping一次网关,网关的mac地址就又没了,看来这也不是问题所在,最后在VMware上解决了问题

5.解决方法

1).在VMare上打开编辑->虚拟网络编辑器->更改设置,将桥接模式的”桥接到:自动”改成指定网卡

应用,确定

2).回到CentOS7里,编辑”/etc/sysconfig/network-scripts/ifcfg-ens33”,将BOOTPROTO的”none”改成”static”

3).重启网络

# systemctl restart network.service

到此解决了网络不通的问题

6.配置ssh

1).安装ssh

# yum -y install ssh

2).启动ssh服务

# systemctl start sshd
# systemctl enable sshd

3).使用Xshell连接,连接成功

到此结束了此次虐心的网络配置

-------------本文结束感谢您的阅读-------------

本文标题:CentOS7网络配置问题

文章作者:Peithon

发布时间:2018年05月20日 - 12:05

最后更新:2018年10月13日 - 08:10

原始链接:https://peithon.github.io/2018/05/20/deploy-net/

许可协议: 署名-非商业性使用-禁止演绎 4.0 国际 转载请保留原文链接及作者。