環境采樣:
[root@fp-web-110 network-scripts]# cat /etc/redhat-release CentOS Linux release 7.2.1511 (Core) [root@fp-web-110 network-scripts]# uname -r 3.10.0-327.el7.x86_64
通過lspci | grep -i ethernet看一下網卡驅動
[root@fp-web-110 network-scripts]# lspci | grep -i ethernet 0a:00.0 Ethernet controller: VMware VMXNET3 Ethernet Controller (rev 01) 14:00.0 Ethernet controller: VMware VMXNET3 Ethernet Controller (rev 01)
//網卡類型VMXNET3
//獲取網卡信息
[root@k3master network-scripts]# ethtool ens192 Settings for ens192: Supported ports: [ TP ] Supported link modes: 1000baseT/Full 10000baseT/Full Supported pause frame use: No Supports auto-negotiation: No Advertised link modes: Not reported Advertised pause frame use: No Advertised auto-negotiation: No Speed: 10000Mb/s Duplex: Full Port: Twisted Pair PHYAD: 0 Transceiver: internal Auto-negotiation: off MDI-X: Unknown Supports Wake-on: uag Wake-on: d Link detected: yes
獲取網卡的一些信息
[root@k3master network-scripts]# ethtool -i ens192 driver: vmxnet3 version: 1.3.5.0-k-NAPI firmware-version: bus-info: 0000:0b:00.0 supports-statistics: yes supports-test: no supports-eeprom-access: no supports-register-dump: yes supports-priv-flags: no
[root@k3master network-scripts]# ethtool -a ens192 Pause parameters for ens192: Cannot get device pause settings: Operation not supported
-a 查看網卡中 接收模塊RX、發送模塊TX和Autonegotiate模塊的狀態:啟動on 或 停用off。
-A 修改網卡中 接收模塊RX、發送模塊TX和Autonegotiate模塊的狀態:啟動on 或 停用off。
-c display the Coalesce information of the specified ethernet card。
-C Change the Coalesce setting of the specified ethernet card。
-g Display the rx/tx ring parameter information of the specified ethernet card。
-G change the rx/tx ring setting of the specified ethernet card。
-i 顯示網卡驅動的信息,如驅動的名稱、版本等。
-d 顯示register dump信息, 部分網卡驅動不支持該選項。
-e 顯示EEPROM dump信息,部分網卡驅動不支持該選項。
-E 修改網卡EEPROM byte。
-k 顯示網卡Offload參數的狀態:on 或 off,包括rx-checksumming、tx-checksumming等。
-K 修改網卡Offload參數的狀態。
-p 用於區別不同ethX對應網卡的物理位置,常用的方法是使網卡port上的led不斷的閃;N指示了網卡閃的持續時間,以秒為單位。
-r 如果auto-negotiation模塊的狀態為on,則restarts auto-negotiation。
-S 顯示NIC- and driver-specific 的統計參數,如網卡接收/發送的字節數、接收/發送的廣播包個數等。
-t 讓網卡執行自我檢測,有兩種模式:offline or online。
-s 修改網卡的部分配置,包括網卡速度、單工/全雙工模式、mac地址等。
systemctl 管理
systemctl start servicename 啟動服務 systemctl stop servicename 關閉服務 systemctl restart servicename 重啟服務 systemctl reload servicename 重新加載配置文件 systemctl status servicename 查看服務狀態 systemctl mask servicename 凍結服務 systemctl unmask servicename 啟用服務 systemctl -a 列出所有服務的狀態 systemctl list-units 列出當前系統服務狀態 systemctl list-unit-files 列出服務的狀態 systemctl list-dependencies servicename 列出服務的依賴關系 systemctl list-sockets 顯示套接字文件 systemctl list-timers 列出定時器 systemctl cat servicename 查看服務的配置文件 systemctl show-environment 查看環境變量 systemd-analyze time 僅顯示時間 systemd-analyze blame 顯示每個進程消耗時間 systemd-analyze plot 生成網頁 systemctl disabled servicename 開機不自動啟動 systemctl is-enable servicename 服務是否啟用 systemctl list-unit-files --type=service 查看各個級別下服務的啟動與禁用情況
使用了 Systemd(即systemctl),就不需要再用init了。Systemd 取代了initd,成為系統的第一個進程(PID 等於 1),其他進程都是它的子進程。
查看NetworkManager情況(NetworkManager和network一般會沖突)
[root@fp-web-110 network-scripts]# systemctl status NetworkManager ● NetworkManager.service - Network Manager Loaded: loaded (/usr/lib/systemd/system/NetworkManager.service; enabled; vendor preset: enabled) Active: active (running) since Fri 2022-03-11 20:16:32 CST; 1 weeks 4 days ago Main PID: 1006 (NetworkManager) Memory: 38.9M CGroup: /system.slice/NetworkManager.service ├─1006 /usr/sbin/NetworkManager --no-daemon ├─1075 /sbin/dhclient -d -q -sf /usr/libexec/nm-dhcp-helper -pf /var/run/dhclient-ens224.pid -lf /var/lib/NetworkManager/dhclient-e03db1bc-8ef6-49cf-806... └─1078 /sbin/dhclient -d -q -sf /usr/libexec/nm-dhcp-helper -pf /var/run/dhclient-ens192.pid -lf /var/lib/NetworkManager/dhclient-bc1027ce-e36c-408b-8d2... Mar 23 10:08:05 fp-web-110 NetworkManager[1006]: <error> [1648001285.399529] [rdisc/nm-lndp-rdisc.c:68] send_rs(): (ens224): cannot send router solicitation: -101. Mar 23 10:08:05 fp-web-110 NetworkManager[1006]: <error> [1648001285.399575] [rdisc/nm-lndp-rdisc.c:68] send_rs(): (ens192): cannot send router solicitation: -101. Mar 23 10:08:09 fp-web-110 NetworkManager[1006]: <error> [1648001289.399594] [rdisc/nm-lndp-rdisc.c:68] send_rs(): (ens224): cannot send router solicitation: -101. Mar 23 10:08:09 fp-web-110 NetworkManager[1006]: <error> [1648001289.399649] [rdisc/nm-lndp-rdisc.c:68] send_rs(): (ens192): cannot send router solicitation: -101. Mar 23 10:08:13 fp-web-110 NetworkManager[1006]: <error> [1648001293.401759] [rdisc/nm-lndp-rdisc.c:68] send_rs(): (ens224): cannot send router solicitation: -101. Mar 23 10:08:13 fp-web-110 NetworkManager[1006]: <error> [1648001293.401822] [rdisc/nm-lndp-rdisc.c:68] send_rs(): (ens192): cannot send router solicitation: -101. Mar 23 10:08:17 fp-web-110 NetworkManager[1006]: <error> [1648001297.399569] [rdisc/nm-lndp-rdisc.c:68] send_rs(): (ens224): cannot send router solicitation: -101. Mar 23 10:08:17 fp-web-110 NetworkManager[1006]: <error> [1648001297.399611] [rdisc/nm-lndp-rdisc.c:68] send_rs(): (ens192): cannot send router solicitation: -101. Mar 23 10:08:21 fp-web-110 NetworkManager[1006]: <error> [1648001301.398752] [rdisc/nm-lndp-rdisc.c:68] send_rs(): (ens224): cannot send router solicitation: -101. Mar 23 10:08:21 fp-web-110 NetworkManager[1006]: <error> [1648001301.398798] [rdisc/nm-lndp-rdisc.c:68] send_rs(): (ens192): cannot send router solicitation: -101.
查看失敗情況
[root@fp-web-110 ~]# systemctl status network.service ● network.service - LSB: Bring up/down networking Loaded: loaded (/etc/rc.d/init.d/network; bad; vendor preset: disabled) Active: failed (Result: exit-code) since Tue 2022-03-22 10:58:12 CST; 23h ago Docs: man:systemd-sysv-generator(8) Process: 65478 ExecStart=/etc/rc.d/init.d/network start (code=exited, status=1/FAILURE) Mar 22 10:58:12 fp-web-110 network[65478]: RTNETLINK answers: File exists Mar 22 10:58:12 fp-web-110 network[65478]: RTNETLINK answers: File exists Mar 22 10:58:12 fp-web-110 network[65478]: RTNETLINK answers: File exists Mar 22 10:58:12 fp-web-110 network[65478]: RTNETLINK answers: File exists Mar 22 10:58:12 fp-web-110 network[65478]: RTNETLINK answers: File exists Mar 22 10:58:12 fp-web-110 network[65478]: RTNETLINK answers: File exists Mar 22 10:58:12 fp-web-110 systemd[1]: network.service: control process exited, code=exited status=1 Mar 22 10:58:12 fp-web-110 systemd[1]: Failed to start LSB: Bring up/down networking. Mar 22 10:58:12 fp-web-110 systemd[1]: Unit network.service entered failed state. Mar 22 10:58:12 fp-web-110 systemd[1]: network.service failed.
查看網卡情況
[root@fp-web-110 ~]# cd /etc/sysconfig/network-scripts/ [root@fp-web-110 network-scripts]# ls ifcfg-eno16777728 ifdown-eth ifdown-isdn ifdown-sit ifup ifup-ib ifup-plip ifup-routes ifup-tunnel network-functions-ipv6 ifcfg-lo ifdown-ib ifdown-post ifdown-Team ifup-aliases ifup-ippp ifup-plusb ifup-sit ifup-wireless ifdown ifdown-ippp ifdown-ppp ifdown-TeamPort ifup-bnep ifup-ipv6 ifup-post ifup-Team init.ipv6-global ifdown-bnep ifdown-ipv6 ifdown-routes ifdown-tunnel ifup-eth ifup-isdn ifup-ppp ifup-TeamPort network-functions
//ifcfg-eno16777728這個網卡不存在
刪除網卡配置文件
[root@fp-web-110 network-scripts]# rm -rf ifcfg-eno16777728
重啟網絡
[root@fp-web-110 network-scripts]# systemctl restart network.service
查看網絡狀態
[root@fp-web-110 network-scripts]# systemctl status network.service ● network.service - LSB: Bring up/down networking Loaded: loaded (/etc/rc.d/init.d/network; bad; vendor preset: disabled) Active: active (exited) since Wed 2022-03-23 10:03:23 CST; 4s ago Docs: man:systemd-sysv-generator(8) Process: 53709 ExecStart=/etc/rc.d/init.d/network start (code=exited, status=0/SUCCESS) Mar 23 10:03:23 fp-web-110 network[53709]: RTNETLINK answers: File exists Mar 23 10:03:23 fp-web-110 network[53709]: RTNETLINK answers: File exists Mar 23 10:03:23 fp-web-110 network[53709]: RTNETLINK answers: File exists Mar 23 10:03:23 fp-web-110 network[53709]: RTNETLINK answers: File exists Mar 23 10:03:23 fp-web-110 network[53709]: RTNETLINK answers: File exists Mar 23 10:03:23 fp-web-110 network[53709]: RTNETLINK answers: File exists Mar 23 10:03:23 fp-web-110 network[53709]: RTNETLINK answers: File exists Mar 23 10:03:23 fp-web-110 network[53709]: RTNETLINK answers: File exists Mar 23 10:03:23 fp-web-110 network[53709]: RTNETLINK answers: File exists Mar 23 10:03:23 fp-web-110 systemd[1]: Started LSB: Bring up/down networking.
繼續解決
network[53709]: RTNETLINK answers: File exists
關閉NetworkManager
[root@fp-web-110 network-scripts]# service NetworkManager off The service command supports only basic LSB actions (start, stop, restart, try-restart, reload, force-reload, status). For other actions, please try to use systemctl. [root@fp-web-110 network-scripts]# systemctl stop NetworkManager
重啟網絡
[root@fp-web-110 network-scripts]# systemctl stop NetworkManager [root@fp-web-110 network-scripts]# systemctl restart network.service
查看網絡狀態
[root@fp-web-110 network-scripts]# systemctl status network.service ● network.service - LSB: Bring up/down networking Loaded: loaded (/etc/rc.d/init.d/network; bad; vendor preset: disabled) Active: active (exited) since Wed 2022-03-23 10:12:45 CST; 4s ago Docs: man:systemd-sysv-generator(8) Process: 54840 ExecStop=/etc/rc.d/init.d/network stop (code=exited, status=0/SUCCESS) Process: 54951 ExecStart=/etc/rc.d/init.d/network start (code=exited, status=0/SUCCESS) Mar 23 10:12:45 fp-web-110 systemd[1]: Starting LSB: Bring up/down networking... Mar 23 10:12:45 fp-web-110 network[54951]: Bringing up loopback interface: [ OK ] //正在啟動回環接口ok Mar 23 10:12:45 fp-web-110 systemd[1]: Started LSB: Bring up/down networking. //使網絡啟用
//網絡啟動中並沒有網卡信息. ens192等.
bring up 的英文解釋
bring up作為計算機專業術語的解釋如下:cause to load(an operating system) and start the initial processes。
因此它的意思是“使......啟動、調試、喚醒、讓......跑起來”。
注意一下如果你想使用nutui來生成網卡配置文件,需要啟動NetworkManager,生成之后建議馬上關閉,否則你在重啟網絡的時候可能會死機.
因為nutui需要NetworkManager的支持.
重新啟用NetworkManager
[root@fp-web-110 network-scripts]# systemctl start NetworkManager [root@fp-web-110 network-scripts]# systemctl status NetworkManager.service ● NetworkManager.service - Network Manager Loaded: loaded (/usr/lib/systemd/system/NetworkManager.service; enabled; vendor preset: enabled) Active: active (running) since Wed 2022-03-23 10:40:46 CST; 16s ago Main PID: 58557 (NetworkManager) Memory: 38.5M CGroup: /system.slice/NetworkManager.service ├─ 1075 /sbin/dhclient -d -q -sf /usr/libexec/nm-dhcp-helper -pf /var/run/dhclient-ens224.pid -lf /var/lib/NetworkManager/dhclient-e03db1bc-8ef6-49cf-80... ├─ 1078 /sbin/dhclient -d -q -sf /usr/libexec/nm-dhcp-helper -pf /var/run/dhclient-ens192.pid -lf /var/lib/NetworkManager/dhclient-bc1027ce-e36c-408b-8d... └─58557 /usr/sbin/NetworkManager --no-daemon Mar 23 10:40:46 fp-web-110 NetworkManager[58557]: <info> (tunl0): device state change: secondaries -> activated (reason 'none') [90 100 0] Mar 23 10:40:46 fp-web-110 NetworkManager[58557]: <info> NetworkManager state is now CONNECTED_LOCAL Mar 23 10:40:46 fp-web-110 NetworkManager[58557]: <info> (tunl0): Activation: successful, device activated. Mar 23 10:40:46 fp-web-110 NetworkManager[58557]: <info> (ens192): device state change: secondaries -> activated (reason 'none') [90 100 0] Mar 23 10:40:46 fp-web-110 NetworkManager[58557]: <info> NetworkManager state is now CONNECTED_GLOBAL Mar 23 10:40:46 fp-web-110 NetworkManager[58557]: <info> (ens192): Activation: successful, device activated. Mar 23 10:40:46 fp-web-110 NetworkManager[58557]: <info> (docker0): device state change: secondaries -> activated (reason 'none') [90 100 0] Mar 23 10:40:46 fp-web-110 NetworkManager[58557]: <info> (docker0): Activation: successful, device activated. Mar 23 10:40:46 fp-web-110 NetworkManager[58557]: <info> (ens224): device state change: secondaries -> activated (reason 'none') [90 100 0] Mar 23 10:40:46 fp-web-110 NetworkManager[58557]: <info> (ens224): Activation: successful, device activated.
看一下nm相關命令
nm nmcli nm-online nmtui nmtui-connect nmtui-edit nmtui-hostname
查看ip mac
[root@fp-web-110 network-scripts]# ip a 1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN 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 2: ens192: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP qlen 1000 link/ether 02:12:1e:03:21:dd brd ff:ff:ff:ff:ff:ff inet 10.121.79.42/24 brd 10.129.79.255 scope global ens192 valid_lft forever preferred_lft forever 3: ens224: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP qlen 1000 link/ether 03:f2:3c:11:1f:e3 brd ff:ff:ff:ff:ff:ff inet 10.121.80.42/24 brd 10.129.80.255 scope global ens224 valid_lft forever preferred_lft forever 4: docker0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc noqueue state DOWN link/ether 06:12:3e:12:12:y3 brd ff:ff:ff:ff:ff:ff inet 172.17.0.1/16 brd 172.17.255.255 scope global docker0 valid_lft forever preferred_lft forever 5: tunl0@NONE: <NOARP,UP,LOWER_UP> mtu 1440 qdisc noqueue state UNKNOWN link/ipip 0.0.0.0 brd 0.0.0.0 inet 10.251.27.128/32 brd 10.254.27.128 scope global tunl0 valid_lft forever preferred_lft forever
繼續生成網卡配置文件利用nmtui
[root@fp-web-110 network-scripts]# systemctl start NetworkManager
查看網卡配置文件
[root@k3master network-scripts]# ls ifcfg-ens192 ifdown-bnep ifdown-ipv6 ifdown-routes ifdown-tunnel ifup-eth ifup-isdn ifup-ppp ifup-TeamPort network-functions ifcfg-ens224 ifdown-eth ifdown-isdn ifdown-sit ifup ifup-ib ifup-plip ifup-routes ifup-tunnel network-functions-ipv6 ifcfg-lo ifdown-ib ifdown-post ifdown-Team ifup-aliases ifup-ippp ifup-plusb ifup-sit ifup-wireless ifdown ifdown-ippp ifdown-ppp ifdown-TeamPort ifup-bnep ifup-ipv6 ifup-post ifup-Team init.ipv6-global
停止NetworkManager
[root@fp-web-110 network-scripts]# systemctl stop NetworkManager //這里不要重啟網絡,直接reboot,否則會死機(特別要注意這里) [root@fp-web-110 network-scripts]# systemctl restart network.service
[root@fp-web-110 network-scripts]# reboot
重啟之后出現這樣情況
[root@fp-web-110~]# systemctl status network.service ● network.service - LSB: Bring up/down networking Loaded: loaded (/etc/rc.d/init.d/network; bad; vendor preset: disabled) Active: active (exited) since Wed 2022-03-23 10:28:03 CST; 3min 15s ago Docs: man:systemd-sysv-generator(8) Process: 2364 ExecStop=/etc/rc.d/init.d/network stop (code=exited, status=0/SUCCESS) Process: 2653 ExecStart=/etc/rc.d/init.d/network start (code=exited, status=0/SUCCESS) Mar 23 10:28:03 localhost.localdomain network[2653]: Bringing up loopback interface: Could not load file '/etc/sysconfig/network-scripts/ifcfg-lo' Mar 23 10:28:03 localhost.localdomain network[2653]: Could not load file '/etc/sysconfig/network-scripts/ifcfg-lo' Mar 23 10:28:03 localhost.localdomain network[2653]: Could not load file '/etc/sysconfig/network-scripts/ifcfg-lo' Mar 23 10:28:03 localhost.localdomain network[2653]: Could not load file '/etc/sysconfig/network-scripts/ifcfg-lo' Mar 23 10:28:03 localhost.localdomain network[2653]: [ OK ] Mar 23 10:28:03 k3master network[2653]: Bringing up interface ens192: Connection successfully activated (D-Bus active path: /org/freedesktop/NetworkMana...nection/2) Mar 23 10:28:03 k3master network[2653]: [ OK ] Mar 23 10:28:03 k3master network[2653]: Bringing up interface ens224: Connection successfully activated (D-Bus active path: /org/freedesktop/NetworkMana...nection/3) Mar 23 10:28:03 k3master network[2653]: [ OK ] Mar 23 10:28:03 k3master systemd[1]: Started LSB: Bring up/down networking. Hint: Some lines were ellipsized, use -l to show in full.
繼續修復,修改
編輯/etc/sysconfig/network-scripts/ifcfg-lo文件,在末尾添加"NM_CONTROLLED=no"參數
[root@fp-web-110 network-scripts]# vi ifcfg-lo DEVICE=lo IPADDR= 127.0.0.1 NETMASK=255.0.0.0 NETWORK=127.0.0.0 # If you're having problems with gated making 127.0.0.0/8 a martian, # you can change this to something else (255.255.255.255, for example) BROADCAST=127.255.255.255 ONBOOT=yes NAME=loopback NM_CONTROLLED=no //新增
查看網絡狀態
[root@fp-web-110 network-scripts]# systemctl stop NetworkManager
[root@fp-web-110 network-scripts]# systemctl restart network.service
[root@fp-web-110 network-scripts]# systemctl status network.service
● network.service - LSB: Bring up/down networking Loaded: loaded (/etc/rc.d/init.d/network; bad; vendor preset: disabled) Active: active (exited) since Wed 2022-03-23 10:40:20 CST; 6s ago Docs: man:systemd-sysv-generator(8) Process: 3254 ExecStop=/etc/rc.d/init.d/network stop (code=exited, status=0/SUCCESS) Process: 3490 ExecStart=/etc/rc.d/init.d/network start (code=exited, status=0/SUCCESS) Mar 23 10:40:15 k3master systemd[1]: Starting LSB: Bring up/down networking... Mar 23 10:40:15 k3master network[3490]: Bringing up loopback interface: [ OK ] Mar 23 10:40:18 k3master network[3490]: Bringing up interface ens192: [ OK ] Mar 23 10:40:20 k3master network[3490]: Bringing up interface ens224: [ OK ] Mar 23 10:40:20 k3master systemd[1]: Started LSB: Bring up/down networking.
最后關閉NetworkManager開機啟動
[root@k2master network-scripts]# systemctl disable NetworkManager Removed symlink /etc/systemd/system/multi-user.target.wants/NetworkManager.service. Removed symlink /etc/systemd/system/dbus-org.freedesktop.NetworkManager.service. Removed symlink /etc/systemd/system/dbus-org.freedesktop.nm-dispatcher.service.
小結錯誤信息會包括
1,網卡配置文件不存在 存在多余網卡信息,需要先刪除 2,Failed to start LSB: Bring up/down networking 3,network[65478]: RTNETLINK answers: File exists 4,Could not load file '/etc/sysconfig/network-scripts/ifcfg-lo' 操作不當可能造成死機,所以要注意
