CentOS 7网络设置 --- 连通性

工作中经常需要部署机器,其中关于网络的问题比较多,这里做一个总结

网络相关配置文件

/etc/sysconfig/network    说是全局设置,默认里面啥也没有,可以添加全局默认网关
/etc/hostname              用nmtui修改hostname后,主机名保存在这里
/etc/resolv.conf             保存DNS设置,不需要手工改,nmtui里面设置的DNS会出现在这里
/etc/sysconfig/network-scripts/       连接配置信息 ifcfg 文件
/etc/NetworkManager/system-connections/  VPN、移动宽带、PPPoE连接

局域网不通

ping不通局域网内其他机器,比如 ping 192.168.58.103

使用命令ip addr查看网卡情况

$ ip addr
1: lo:  mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host 
       valid_lft forever preferred_lft forever
2: ens32:  mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
    link/ether 00:0c:29:e5:3a:25 brd ff:ff:ff:ff:ff:ff

从结果中可以看到网卡ens32并没有启动(lo是虚拟网卡,系统自带的本地回环网卡)

  • 启动网卡
    sudo nmcli device connect ens32

启动后查询如下,可以看到网卡ens32已经启动,并且IP地址配置为192.168.58.101

$ ip addr
1: lo:  mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host 
       valid_lft forever preferred_lft forever
2: ens32:  mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
    link/ether 00:0c:29:e5:3a:25 brd ff:ff:ff:ff:ff:ff
    inet 192.168.58.101/24 brd 192.168.58.255 scope global noprefixroute ens32
       valid_lft forever preferred_lft forever
    inet6 fe80::20c:29ff:fee5:3a25/64 scope link 
       valid_lft forever preferred_lft forever

  • 配置静态地址
    如果网卡启动后,还是无法连接到局域网内其他机器,则需要修改网卡设置
    sudo vim /etc/sysconfig/network-scripts/ifcfg-ens32
DEVICE="ens32"
NM_CONTROLLED="yes"
# 开机启动
ONBOOT=yes
TYPE=Ethernet
# 设置为静态地址
BOOTPROTO=static
NAME="System ens32"
HWADDR=00:0c:29:c9:39:2a
# 设置静态IP
IPADDR=192.168.58.101
NETMASK=255.255.255.0
GATEWAY=192.168.58.2
DNS1=8.8.8.8

配置完成后,需要重启网卡生效

sudo /etc/sysconfig/network-scripts/ifdown ens32
sudo /etc/sysconfig/network-scripts/ifup ens32

外网不通

可以连接局域网其它机器,但是连接不了外网

$ ping 8.8.8.8
connect: Network is unreachable

而且查看路由配置,缺少默认路由(default)

$ ip route
192.168.58.0/24 dev ens32 proto kernel scope link src 192.168.58.101 metric 100

(如果局域网其他机器可以连通外网)
则是该机器的网关配置错误, 修改对应网卡配置中的网关项
sudo vim /etc/sysconfig/network-scripts/ifcfg-ens32
增加一行

# 网关地址(大部分可能是192.168.0.1)
GATEWAY 192.168.58.2

重启网卡后生效,结果如下:

$ ip route
default via 192.168.58.2 dev ens32 proto static metric 100 
192.168.58.0/24 dev ens32 proto kernel scope link src 192.168.58.101 metric 100

DNS配置错误

如果ping 8.8.8.8没问题,但是ping www.baidu.com超时

$ ping www.baidu.com
ping: www.baidu.com: Temporary failure in name resolution

修改/etc/resolv.conf
增加DNS服务器,比如8.8.8.8

# Generated by NetworkManager
nameserver 8.8.8.8

但是一般不推荐直接修改,而是配置在文件/etc/sysconfig/network-scripts/ifcfg-ens32后,由NetworkManager自动添加到/etc/resolv.conf

修改后重启网卡。

参考

  • Centos7系统配置上的变化(二)网络管理基础
  • What is the loopback device and how do I use it?
  • 使用 NETWORKMANAGER 命令行工具 NMCLI

你可能感兴趣的:(CentOS 7网络设置 --- 连通性)