工作中经常需要部署机器,其中关于网络的问题比较多,这里做一个总结
/etc/sysconfig/network 说是全局设置,默认里面啥也没有,可以添加全局默认网关
/etc/hostname 用nmtui修改hostname后,主机名保存在这里
/etc/resolv.conf 保存DNS设置,不需要手工改,nmtui里面设置的DNS会出现在这里
/etc/sysconfig/network-scripts/ 连接配置信息 ifcfg 文件
/etc/NetworkManager/system-connections/ V**、移动宽带、PPPoE连接
ping不通局域网内其他机器,比如 ping 192.168.58.103
使用命令ip addr
查看网卡情况
$ ip addr
1: lo: <LOOPBACK,UP,LOWER_UP> 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: <BROADCAST,MULTICAST,UP,LOWER_UP> 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: <LOOPBACK,UP,LOWER_UP> 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: <BROADCAST,MULTICAST,UP,LOWER_UP> 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
如果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
中
修改后重启网卡。