1.查看網卡:
[root@centos8 ~ 820]#ethtool -i ens160 driver: vmxnet3 version: 1.5.0.0-k-NAPI firmware-version: expansion-rom-version: bus-info: 0000:03:00.0 supports-statistics: yes supports-test: no supports-eeprom-access: no supports-register-dump: yes supports-priv-flags: no
2.臨時修改網卡名:
[root@centos8 ~ 822]#ip a 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: ens160: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000 link/ether 00:0c:29:92:02:99 brd ff:ff:ff:ff:ff:ff inet 192.168.93.129/24 brd 192.168.93.255 scope global dynamic noprefixroute ens160 valid_lft 1786sec preferred_lft 1786sec inet6 fe80::20c:29ff:fe92:299/64 scope link dadfailed tentative noprefixroute valid_lft forever preferred_lft forever 3: virbr0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc noqueue state DOWN group default qlen 1000 link/ether 52:54:00:93:80:32 brd ff:ff:ff:ff:ff:ff inet 192.168.122.1/24 brd 192.168.122.255 scope global noprefixroute virbr0 valid_lft forever preferred_lft forever 4: virbr0-nic: <BROADCAST,MULTICAST> mtu 1500 qdisc fq_codel state DOWN group default qlen 1000 link/ether 52:54:00:93:80:32 brd ff:ff:ff:ff:ff:ff 5: ens224: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000 link/ether 00:0c:29:92:02:a3 brd ff:ff:ff:ff:ff:ff [root@centos8 ~ 823]#ip link set ens224 down [root@centos8 ~ 824]#ip a 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: ens160: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000 link/ether 00:0c:29:92:02:99 brd ff:ff:ff:ff:ff:ff inet 192.168.93.129/24 brd 192.168.93.255 scope global dynamic noprefixroute ens160 valid_lft 1722sec preferred_lft 1722sec inet6 fe80::20c:29ff:fe92:299/64 scope link dadfailed tentative noprefixroute valid_lft forever preferred_lft forever 3: virbr0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc noqueue state DOWN group default qlen 1000 link/ether 52:54:00:93:80:32 brd ff:ff:ff:ff:ff:ff inet 192.168.122.1/24 brd 192.168.122.255 scope global noprefixroute virbr0 valid_lft forever preferred_lft forever 4: virbr0-nic: <BROADCAST,MULTICAST> mtu 1500 qdisc fq_codel state DOWN group default qlen 1000 link/ether 52:54:00:93:80:32 brd ff:ff:ff:ff:ff:ff 5: ens224: <BROADCAST,MULTICAST> mtu 1500 qdisc mq state DOWN group default qlen 1000 link/ether 00:0c:29:92:02:a3 brd ff:ff:ff:ff:ff:ff [root@centos8 ~ 825]#ip link set ens224 name abc [root@centos8 ~ 826]#ip a 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: ens160: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000 link/ether 00:0c:29:92:02:99 brd ff:ff:ff:ff:ff:ff inet 192.168.93.129/24 brd 192.168.93.255 scope global dynamic noprefixroute ens160 valid_lft 1666sec preferred_lft 1666sec inet6 fe80::20c:29ff:fe92:299/64 scope link dadfailed tentative noprefixroute valid_lft forever preferred_lft forever 3: virbr0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc noqueue state DOWN group default qlen 1000 link/ether 52:54:00:93:80:32 brd ff:ff:ff:ff:ff:ff inet 192.168.122.1/24 brd 192.168.122.255 scope global noprefixroute virbr0 valid_lft forever preferred_lft forever 4: virbr0-nic: <BROADCAST,MULTICAST> mtu 1500 qdisc fq_codel state DOWN group default qlen 1000 link/ether 52:54:00:93:80:32 brd ff:ff:ff:ff:ff:ff 5: abc: <BROADCAST,MULTICAST> mtu 1500 qdisc mq state DOWN group default qlen 1000 link/ether 00:0c:29:92:02:a3 brd ff:ff:ff:ff:ff:ff [root@centos8 ~ 827]#ip link set abc up [root@centos8 ~ 828]#ip a 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: ens160: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000 link/ether 00:0c:29:92:02:99 brd ff:ff:ff:ff:ff:ff inet 192.168.93.129/24 brd 192.168.93.255 scope global dynamic noprefixroute ens160 valid_lft 1644sec preferred_lft 1644sec inet6 fe80::20c:29ff:fe92:299/64 scope link dadfailed tentative noprefixroute valid_lft forever preferred_lft forever 3: virbr0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc noqueue state DOWN group default qlen 1000 link/ether 52:54:00:93:80:32 brd ff:ff:ff:ff:ff:ff inet 192.168.122.1/24 brd 192.168.122.255 scope global noprefixroute virbr0 valid_lft forever preferred_lft forever 4: virbr0-nic: <BROADCAST,MULTICAST> mtu 1500 qdisc fq_codel state DOWN group default qlen 1000 link/ether 52:54:00:93:80:32 brd ff:ff:ff:ff:ff:ff 5: abc: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000 link/ether 00:0c:29:92:02:a3 brd ff:ff:ff:ff:ff:ff
3.ifconfig命令
來自於net-tools包,建議使用 ip 代替
ifconfig修改網卡IP地址:
[root@centos8 ~ 834]#ifconfig ens224 1.1.1.1/24 [root@centos8 ~ 835]#ifconfig ens160: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500 inet 192.168.93.129 netmask 255.255.255.0 broadcast 192.168.93.255 inet6 fe80::20c:29ff:fe92:299 prefixlen 64 scopeid 0x20<link> ether 00:0c:29:92:02:99 txqueuelen 1000 (Ethernet) RX packets 38146 bytes 51665005 (49.2 MiB) RX errors 0 dropped 0 overruns 0 frame 0 TX packets 7397 bytes 510018 (498.0 KiB) TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0 ens224: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500 inet 1.1.1.1 netmask 255.255.255.0 broadcast 1.1.1.255 ether 00:0c:29:92:02:a3 txqueuelen 1000 (Ethernet) RX packets 4 bytes 424 (424.0 B) RX errors 0 dropped 0 overruns 0 frame 0 TX packets 9 bytes 891 (891.0 B) 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 1000 (Local Loopback) RX packets 2 bytes 140 (140.0 B) RX errors 0 dropped 0 overruns 0 frame 0 TX packets 2 bytes 140 (140.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:93:80:32 txqueuelen 1000 (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
ifconfig禁用網卡:
[root@centos8 ~ 838]#ifconfig ens224 down [root@centos8 ~ 839]#ifconfig ens160: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500 inet 192.168.93.129 netmask 255.255.255.0 broadcast 192.168.93.255 inet6 fe80::20c:29ff:fe92:299 prefixlen 64 scopeid 0x20<link> ether 00:0c:29:92:02:99 txqueuelen 1000 (Ethernet) RX packets 38264 bytes 51677384 (49.2 MiB) RX errors 0 dropped 0 overruns 0 frame 0 TX packets 7469 bytes 523618 (511.3 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 1000 (Local Loopback) RX packets 2 bytes 140 (140.0 B) RX errors 0 dropped 0 overruns 0 frame 0 TX packets 2 bytes 140 (140.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:93:80:32 txqueuelen 1000 (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
ifconfig啟用網卡:
[root@centos8 ~ 840]#ifconfig ens224 up [root@centos8 ~ 841]#ifconfig ens160: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500 inet 192.168.93.129 netmask 255.255.255.0 broadcast 192.168.93.255 inet6 fe80::20c:29ff:fe92:299 prefixlen 64 scopeid 0x20<link> ether 00:0c:29:92:02:99 txqueuelen 1000 (Ethernet) RX packets 38414 bytes 51692621 (49.2 MiB) RX errors 0 dropped 0 overruns 0 frame 0 TX packets 7566 bytes 535881 (523.3 KiB) TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0 ens224: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500 ether 00:0c:29:92:02:a3 txqueuelen 1000 (Ethernet) RX packets 1 bytes 106 (106.0 B) RX errors 0 dropped 0 overruns 0 frame 0 TX packets 3 bytes 126 (126.0 B) 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 1000 (Local Loopback) RX packets 2 bytes 140 (140.0 B) RX errors 0 dropped 0 overruns 0 frame 0 TX packets 2 bytes 140 (140.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:93:80:32 txqueuelen 1000 (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
ifconfig查看當前網卡的通信情況:
[root@centos8 ~ 843]#ifconfig -s ens160 Iface MTU RX-OK RX-ERR RX-DRP RX-OVR TX-OK TX-ERR TX-DRP TX-OVR Flg ens160 1500 38500 0 0 0 7623 0 0 0 BMRU
4.netstat命令
來自於net-tools包,建議使用 ss 代替
常用選項
-t: tcp協議相關 -u: udp協議相關 -w: raw socket相關 -l: 處於監聽狀態 -a: 所有狀態 -n: 以數字顯示IP和端口 -e:擴展格式 -p: 顯示相關進程及PID
常用組合:
tan, -uan, -tnl, -unl
顯示路由表:
netstat {--route|-r} [--numeric|-n] -r: 顯示內核路由表 -n: 數字格式
5.將網卡名修改為傳統網卡名:
vim /etc/default/grub
再執行
grub2-mkconfig -o /boot/grub2/grub.cfg ;reboot
6.網絡配置文件
在/etc/sysconfig/network-scripts/目錄下有不少文件,絕大部分都是腳本類的文件,但有一類ifcfg開頭的文件為網卡配置文件(interface-config),所有ifcfg開頭的文件在啟動網絡服務的時候都會被加載讀取,具體的文件名ifcfg-XXX的XXX可以隨意命名。
通過網卡配置文件可設定IP地址、子網掩碼、默認網關、DNS且永久生效。
該文件主要內容如下:
DEVICE:此配置文件應用到的設備,也是顯示名稱,必須/sys/class/net/目錄下的某個網卡名相同;
HWADDR:對應的設備的MAC地址;
BOOTPROTO:激活此設備時使用的地址配置協議,常用的dhcp,static,none,bootp;
NM_CONTROLLED:NM是NetworkManager的簡寫,表示此網卡是否接受NM管理,centOS6建議設置為“no”;
ONBOOT:在系統啟動時是否激活此設備,可選值為yes或no;若設置為no,則需手動啟動;
TYPE:設定接口類型;常見的有Ethernet,Bridge;
UUID:設備的唯一標識;
IPADDR:指明IP地址;
NETMASK:指明子網掩碼;
GATEWAY:設定默認網關;
DNS1:設定第一個DNS服務器指向;
DNS2:設定第二個DNS服務器指向;
USERCTL:普通用戶是否控制此設備;
PEERDNS:設置為yes時,此文件設置的DNS將覆蓋/etc/resolv.conf,若BOOTPROTO的值是“dhcp”,則該項默認為yes,所以dhcp的dns也會覆蓋/etc/resolv.conf;
PEERROUTES:設置為yes時,DHCP設置的路由將覆蓋route-ethX文件中的永久路由信息;
DEFROUTTE:設置為yes時,DHCP將設置默認路由。
7.查看和修改主機名
1).CentOS6中的主機名
在centOS6中使用hostname命令可以查看和修改主機名,修改時只在當前生效。
語法格式為:
hostname 【hostname】
centOS6中主機名修改如果想要永久生效,需修改配置文件/etc/sysconfig/network,其中:
HOSTNAME=
等號后填寫想要設定的主機名,保存退出即可。
最后,hostname命令還有一個非常好用的選項“-I”(大寫字母i),它可以列出本機除了環回地址外的所有地址,如此以來想要篩選IP地址就可以免去ifconfig加grep、sed等一堆聯合操作了。
[root@localhost ~]# hostname -I 192.168.93.133 192.168.122.1 fd15:4ba5:5a2b:1008:20c:29ff:fe9f:3f73
2).centOS7中的主機名
在centOS6中,修改主機名方式很簡單,臨時修改主機名使用hostname命令,永久修改主機名直接寫文件/etc/sysconfig/network即可。
但在CentOS7中,主機名就沒那么簡單了,它涉及了一些彎彎繞繞。如果化繁為簡,那么直接使用hostnamectl命令查看、修改即可,它是永久生效的。此外,修改/etc/hostname也是永久生效的,而/etc/sysconfig/network在CentOS7中已經失效。
例如,hostnamectl命令設置主機名為kimmich:
[root@centos7 ~]# hostnamectl set-hostname kimmich
通過/etc/hostname查看或設置主機名:
[root@centos7 ~]# cat /etc/hostname kimmich
查看主機名:
[root@centos7 ~]# uname -n kimmich [root@centos7 ~]# hostname kimmich
hostnamectl命令也可以直接查看主機名,但是顯示出來的結果及較多,這涉及到CentOS7中主機名的彎彎繞繞。
[root@centos7 ~]# hostnamectl Static hostname: kimmich Icon name: computer-vm Chassis: vm Machine ID: b57bc3ff91254e2dbb9727e060abf5c1 Boot ID: 07d449f8658b48a9855430e5144eb4c6 Virtualization: vmware Operating System: CentOS Linux 7 (Core) CPE OS Name: cpe:/o:centos:centos:7 Kernel: Linux 3.10.0-1160.el7.x86_64 Architecture: x86-64
hostnamectl命令話可以修改、查看遠程主機的主機名,使用“-H”或“--host”選項即可,它基於ssh連接。
注意,無法遠程修改CentOS5或6的主機名,因為hostnamectl使用的是systemd的功能進行修改的。
例如,使用root用戶連接到192.168.93.133主機上並修改它的主機名。
[root@centos7 ~]# hostnamectl -H root@192.168.93.133 set-hostname hello59 The authenticity of host '192.168.93.133 (192.168.93.133)' can't be established. ECDSA key fingerprint is SHA256:yiPvjpdo3eOQjKTLAspCqRsTikjuP8Dsym5YsYvUr1s. ECDSA key fingerprint is MD5:89:da:3a:a0:a8:53:11:23:ff:88:78:ca:d7:96:6a:6a. Are you sure you want to continue connecting (yes/no)? yes Warning: Permanently added '192.168.93.133' (ECDSA) to the list of known hosts. root@192.168.93.133's password: [root@centos7 ~]# hostnamectl -H root@192.168.93.133 status root@192.168.93.133's password: Static hostname: hello59 Icon name: computer-vm Chassis: vm Machine ID: b57bc3ff91254e2dbb9727e060abf5c1 Boot ID: 07d449f8658b48a9855430e5144eb4c6 Virtualization: vmware Operating System: CentOS Linux 8 CPE OS Name: cpe:/o:centos:centos:8 Kernel: Linux 4.18.0-348.el8.x86_64 Architecture: x86-64
最后再來解釋下CentOS7中的主機名。
在CentOS7中主機名分為三類:static(靜態主機名)、pretty(好看易讀的主機名)和transient(短暫臨時的)。CentOS7中和主機名有關的文件為/etc/hostname,它是在系統初始化的時候被讀取的,並且內核根據它的內容設置transient主機名。
其中:
1.static類的主機名就是原來意義上的主機名,由/etc/hostname文件決定。
2.transient類的主機名是臨時主機名,它是由內核動態維護的主機名。默認在系統啟動的時候根據/etc/hostname文件中的靜態主機名進行初始化。
3.pretty類的主機名是給人看的,它可以提供非標准的主機名,以前版本(例如CentOS6)沒有這功能。它可以包含特殊符號,例如空格。例如將pretty名稱名為“MaYun‘s Host”,這種名稱在以前的主機名(即static類主機名)里是不允許存在的。
/etc/hostname文件中的static主機名是瞬時生效的也是永久生效的。修改后使用hostname命令或者uname -n直接就可以讀取,重啟后也按照此文件的主機名進行初始化。
/etc/hostname文件沒有主機名的時候,在系統啟動的時候,內核會將transient初始化為localhost.localdoamin。
hostname命令修改的主機名是transient主機名,即臨時生效的主機名。
使用hostnamectl命令。它可以修改並查看static、transient或pretty三種主機名。當它修改了static主機名時,會直接寫入/etc/hostname文件中,因此它也是瞬時生效+永久生效的。
8.主機名解析
解析器執行正向和逆向查詢,即主機名和IP的雙向查詢。解析器存放路徑位於/etc/hosts,是本地主機名和IP地址的映像,對小型獨立網絡有用。
使用getent hosts命令,可查看/etc/hosts配置文件的內容,其文件內容為:
[root@centos7 ~]# cat /etc/hosts 127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4 ::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
配置/etc/resolv.conf文件,可以設置DNS服務器,即請求該服務器幫助解析主機名。
[root@centos7 ~]# cat /etc/resolv.conf # Generated by NetworkManager search localdomain nameserver 192.168.93.2
其中的nameserver192.168.93.2表示本機將找192.168.93.2來幫助查詢主機名對應的IP地址。
一般情況下,是先查找/etc/hosts文件判斷是否有對應主機名的記錄,如果沒有則根據/etc/resolv.conf中記錄請求對方幫忙解析主機名。但是這種優先級是可以配置的,在/etc/nsswitch.conf文件中有一行hosts選項,其指定先查找誰。