Linux網絡屬性配置(三)修改配置文件&& CentOS 7 網絡配置
Linux網絡屬性配置(三)修改配置文件
IP、MASK、GW、DNS相關配置文件:
/etc/sysconfig/network-scripts/ifcfg-IFACE
路由相關配置文件:
/etc/sysconfig/network-scripts/route-IFACE
/etc/sysconfig/network-scripts/ifcfg-IFACE
DEVICE:此配置文件應用到的設備 HWADDR:對應的設備的MAC地址 BOOTPROTO:激活此設備時用到的地址配置協議,常用的dhcp,static,none,bootp MM_CONTROLLED:MM是NetworkManager的簡寫,此網卡是否接受MM控制;CentOS 6建議為“no” ONBOOT:在系統因到時候是否激活此設備 TYPE:接口類型;常見的有Ethernet,Bridge UUID:設備的唯一標識 IPADDR:指明IP地址 NETMASK:子網掩碼 GATEWAY:默認網關 DSN1:第一個DNS服務器指向 DNS2:第二個DNS服務器指向 USERCTL:普通用戶是否可控制此設備 PEERDNS:如果BOOTPROTO的值為"dhsp",是否允許dhcp server分配的dns服務器指向信息直接覆蓋至/etc/resolv.conf文件中 [root@Daniel ~]# cat /etc/sysconfig/network-scripts/ifcfg-eth0 DEVICE=eth0 TYPE=Ethernet ONBOOT=yes NM_CONTROLLED=yes BOOTPROTO=none IPADDR=192.168.98.140 PREFIX=24 GATEWAY=192.168.98.2 #DNS1=8.8.8.8 #DOMAIN=8.8.4.4 DEFROUTE=yes IPV4_FAILURE_FATAL=yes IPV6INIT=no NAME="System eth0"
/etc/sysconfig/network-scripts/route-IFACE
兩種風格
TARGET via GW
每三行定義一條路由
ADDRESS#=TARGET NETMASK#=mask GATEWAY#=GW
給網卡配置多個地址
ifconfig:
ifcofnig IFACE_ALIAS
ip:
ip addr add
配置文件:
ifcfg-IFACE_ALIAS DEVICE=IFACE_ALIAS
注意:網關別名不能使用dhcp協議引導。
Linux網絡屬性配置的tui(text user interface)
-
system-config-network-tui
-
也可以使用setup找到
[root@Daniel ~]# setup
注意:修改之后重啟網絡服務才能生效
網絡接口識別并命令相關的配置文件:
/etc/udev/rules.c/70-persistent-net.rules
[root@Daniel ~]# cat /etc/udev/rules.d/70-persistent-net.rules # This file was automatically generated by the /lib/udev/write_net_rules # program, run by the persistent-net-generator.rules rules file. # # You can modify it, as long as you keep each rule on a single # line, and change only the value of the NAME= key. # PCI device 0x8086:0x100f (e1000) SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="00:0c:29:2c:81:4d", ATTR{type}=="1", KERNEL=="eth*", NAME="eth0" [root@Daniel ~]#
卸載網卡驅動
modeprobe -r e1000
裝載網卡驅動
modeprobe e1000
CentOS 7網絡屬性配置
CentOS 7 的網卡命名機制較之CentOS 6來說有較大不同,接下來我們來詳細說說CentOS 7網卡的命名規則
-
網卡命名機制
systemd對網絡設備的命名方式:
(a) 如果Firmware或BIOS為主板上集成的設備提供的索引信息可用,且可預測則根據此索引進行命名,例如eno1; (b) 如果Firmware或BIOS為PCI-E擴展槽所提供的索引信息可用,且可預測,則根據此索引進行命名,例如ens1; (c) 如果硬件接口的物理位置信息可用,則根據此信息進行命名,例如enp2s0; (d) 如果用戶顯式啟動,也可根據MAC地址進行命名,enx2387a1dc56; (e) 上述均不可用時,則使用傳統命名機制;
上述命名機制中,有的需要biosdevname程序的參與。
-
名稱組成格式
en: ethernet wl: wlan ww: wwan 名稱類型: o<index>: 集成設備的設備索引號; s<slot>: 擴展槽的索引號; x<MAC>: 基于MAC地址的命名; p<bus>s<slot>: enp2s1
網卡設備的命名過程:
-
第一步:
udev, 輔助工具程序/lib/udev/rename_device, /usr/lib/udev/rules.d/60-net.rules -
第二步:
biosdevname 會根據/usr/lib/udev/rules.d/71-biosdevname.rules -
第三步:
通過檢測網絡接口設備,根據/usr/lib/udev/rules.d/75-net-description
IDNETNAMEONBOARD, IDNETNAMESLOT, IDNETNAME_PATH
回歸傳統的命名方式:
[root@Daniel ~]# ifconfig eno16777736: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500 inet 192.168.98.141 netmask 255.255.255.0 broadcast 192.168.98.255 inet6 fe80::20c:29ff:fe82:7610 prefixlen 64 scopeid 0x20<link> ether 00:0c:29:82:76:10 txqueuelen 1000 (Ethernet) RX packets 8936 bytes 786741 (768.3 KiB) RX errors 0 dropped 0 overruns 0 frame 0 TX packets 7550 bytes 515886 (503.7 KiB) TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0 lo: flags=73<UP,LOOPBACK,RUNNING> mtu 65536 inet 127.0.0.1 netmask 255.0.0.0 inet6 ::1 prefixlen 128 scopeid 0x10<host> loop txqueuelen 0 (Local Loopback) RX packets 0 bytes 0 (0.0 B) RX errors 0 dropped 0 overruns 0 frame 0 TX packets 0 bytes 0 (0.0 B) TX errors 0 dropped 0 overruns 0 carrier 0 collisions [root@Daniel ~]#
-
(1) 編輯/etc/default/grub配置文件
GRUB_CMDLINE_LINUX="net.ifnames=0 rhgb quiet" [root@Daniel ~]# cat /etc/default/grub GRUB_TIMEOUT=5 GRUB_DISTRIBUTOR="$(sed 's, release .*$,,g' /etc/system-release)" GRUB_DEFAULT=saved GRUB_DISABLE_SUBMENU=true GRUB_TERMINAL_OUTPUT="console" GRUB_CMDLINE_LINUX="crashkernel=auto rhgb quiet net.ifnames=0" GRUB_DISABLE_RECOVERY="true" [root@Daniel ~]#
-
(2) 為grub2生成其配置文件
grub2-mkconfig -o /etc/grub2.cfg [root@Daniel ~]# grub2-mkconfig -o /etc/grub2.cfg Generating grub configuration file ... Found linux image: /boot/vmlinuz-3.10.0-327.el7.x86_64 Found initrd image: /boot/initramfs-3.10.0-327.el7.x86_64.img Found linux image: /boot/vmlinuz-0-rescue-1935525f9d944f499859e4e93218a41e Found initrd image: /boot/initramfs-0-rescue-1935525f9d944f499859e4e93218a41e.img done [root@Daniel ~]#
-
(3) 重啟系統
[root@Daniel ~]# ifconfig eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500 inet 192.168.98.141 netmask 255.255.255.0 broadcast 192.168.98.255 inet6 fe80::20c:29ff:fe82:7610 prefixlen 64 scopeid 0x20<link> ether 00:0c:29:82:76:10 txqueuelen 1000 (Ethernet) RX packets 38 bytes 5214 (5.0 KiB) RX errors 0 dropped 0 overruns 0 frame 0 TX packets 92 bytes 15232 (14.8 KiB) TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0 lo: flags=73<UP,LOOPBACK,RUNNING> mtu 65536 inet 127.0.0.1 netmask 255.0.0.0 inet6 ::1 prefixlen 128 scopeid 0x10<host> loop txqueuelen 0 (Local Loopback) RX packets 0 bytes 0 (0.0 B) RX errors 0 dropped 0 overruns 0 frame 0 TX packets 0 bytes 0 (0.0 B) TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0 virbr0: flags=4099<UP,BROADCAST,MULTICAST> mtu 1500 inet 192.168.122.1 netmask 255.255.255.0 broadcast 192.168.122.255 ether 52:54:00:e0:eb:12 txqueuelen 0 (Ethernet) RX packets 0 bytes 0 (0.0 B) RX errors 0 dropped 0 overruns 0 frame 0 TX packets 0 bytes 0 (0.0 B) TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0 [root@Daniel ~]# cat /etc/centos-release CentOS Linux release 7.2.1511 (Core) [root@Daniel ~]#
可以看到這個時候CentOS 7的網卡名字已經改回eth0.
地址配置工具:nmcli
nmcli [ OPTIONS ] OBJECT { COMMAND | help }
device - show and manage network interfaces [root@Daniel ~]# nmcli device 設備 類型 狀態 CONNECTION virbr0 bridge 連接的 virbr0 eth0 ethernet 連接的 系統 eth0 virbr0-nic tap 連接的 virbr0-nic lo loopback 未管理 -- [root@Daniel ~]# connection - start, stop, and manage network connections [root@Daniel ~]# nmcli connection 名稱 UUID 類型 設備 virbr0-nic 0f7f1ec2-683b-4e4a-89a0-67c3c7096a68 generic virbr0-nic virbr0 497ce206-0f80-4833-9d9f-1aa4078aae04 bridge virbr0 系統 eth0 5fb06bd0-0bb0-7ffb-45f1-d6edd65f3e03 802-3-ethernet eth0 [root@Daniel ~]# 如何修改IP地址等屬性: #nmcli connection modify IFACE [+|-]setting.property value setting.property: ipv4.addresses ipv4.gateway ipv4.dns1 ipv4.method manual
網絡接口配置tui工具:nmtui
[root@Daniel ~]# nmtui
主機名稱配置工具:hostnamectl
status [root@Daniel ~]# hostnamectl status Static hostname: Daniel Icon name: computer-vm Chassis: vm Machine ID: 1935525f9d944f499859e4e93218a41e Boot ID: 3655c6af122747d287c98daa9a3be63a Virtualization: vmware Operating System: CentOS Linux 7 (Core) CPE OS Name: cpe:/o:centos:centos:7 Kernel: Linux 3.10.0-327.el7.x86_64 Architecture: x86-64 set-hosrname [root@Daniel ~]# hostnamectl set-hostname DanielW [root@Daniel ~]# hostname danielw [root@Daniel ~]#
原創文章,作者:Daniel-W,如若轉載,請注明出處:http://www.www58058.com/23017