用 ifconfig 命令查看網卡 IP
前面我們用過 ip addr 這個命令來查看系統的 IP 地址。其實在 CentOS7 之前,我們使用最多的就是 ifconfig ,它類似於 Windows 的 ipconfig 命令,後面不加任何選項和參數時,只打印當前網卡 IP 的相關信息(如子網掩碼、網卡等)在 Windows 下設置 IP 非常簡單,然後在命令窗口下如何設置呢?這就需要修改配置文件 /etc/sysconfig/network-scripts/ifcfg-xxx 了,這裏的 xxx 指的是網卡的名字,可以使用 ip addr 命令查看所有網卡。如果系統中沒有 ifconfig 命令,可以使用 yum install -y net-tools 安裝
查看網卡 IP
[root@evan-01 ~]# ifconfig
ens33: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 192.168.94.128 netmask 255.255.255.0 broadcast 192.168.94.255
inet6 fe80::dc8f:bbc8:e3f6:6009 prefixlen 64 scopeid 0x20<link>
ether 00:0c:29:ef:0d:47 txqueuelen 1000 (Ethernet)
RX packets 94 bytes 8910 (8.7 KiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 95 bytes 11083 (10.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 1 (Local Loopback)
RX packets 40 bytes 3128 (3.0 KiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 40 bytes 3128 (3.0 KiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
[root@evan-01 ~]#
重啓某個網卡
[root@evan-01 ~]# ifdown ens33 ; ifup ens33
Device 'ens33' successfully disconnected.
Connection successfully activated (D-Bus active path: /org/freedesktop/NetworkManager/ActiveConnection/2)
[root@evan-01 ~]#
可以直接連寫,斷開網卡,激活網卡。
不要單寫 ifdown ens33,麻煩些
[root@evan-01 ~]# ifdown ens33
斷開後CRT界面就沒反應了,需要回到vmware 執行命令 ifup ens33
激活
ifdown 即停用網卡,ifup即啓動網卡。需要注意的是,如果我們遠程登錄的服務器,當使用命令 ifdown ens33 時,很有可能後面的命令 ifup ens33 不會運行。這樣會導致我們斷網而無法連接服務器,所以請儘量使用命令 systemctl restart network 來重啓網卡
給一個網卡設定多個 IP
在 linux 系統中,網卡是可以設定多重 IP 的,過程如下
[root@evan-01 ~]# cd /etc/sysconfig/network-scripts/
[root@evan-01 network-scripts]# cp ifcfg-ens33 ifcfg-ens33\:1
[root@evan-01 network-scripts]# vi ifcfg-ens33\:1
之所以加反斜槓(\),是因爲要把 :轉義,不然在 linux 命令行下面無法識別。
然後編輯 ifcfg-ens33:1 這個配置文件。一定注意 NAME 和 DEVICE 要寫成 ens33:1,IPADDR 可以改成192.168.94.138,把 GATEWAY 和 DNS1 刪除掉。按 esc 鍵,輸入 :wq 保存退出
重啓下網卡
[root@evan-01 network-scripts]# ifdown ens33 ; ifup ens33
Device 'ens33' successfully disconnected.
Connection successfully activated (D-Bus active path: /org/freedesktop/NetworkManager/ActiveConnection/3)
[root@evan-01 network-scripts]# ifconfig
ens33: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 192.168.94.128 netmask 255.255.255.0 broadcast 192.168.94.255
inet6 fe80::dc8f:bbc8:e3f6:6009 prefixlen 64 scopeid 0x20<link>
ether 00:0c:29:ef:0d:47 txqueuelen 1000 (Ethernet)
RX packets 740 bytes 59661 (58.2 KiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 447 bytes 51621 (50.4 KiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
ens33:1: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 192.168.94.138 netmask 255.255.255.0 broadcast 192.168.94.255
ether 00:0c:29:ef:0d:47 txqueuelen 1000 (Ethernet)
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 1 (Local Loopback)
RX packets 40 bytes 3128 (3.0 KiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 40 bytes 3128 (3.0 KiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
[root@evan-01 network-scripts]#
ping 下看能不能通
查看網卡連接狀態
[root@evan-01 network-scripts]# mii-tool ens33
ens33: negotiated 1000baseT-FD flow-control, link ok
[root@evan-01 network-scripts]#
這裏顯示 link ok ,就說明網卡爲連接狀態。如果顯示 no link ,說明網卡壞了或者沒有連接網線
還有一個命令可以查看網卡狀態
[root@evan-01 network-scripts]# ethtool ens33
Settings for ens33:
Supported ports: [ TP ]
Supported link modes: 10baseT/Half 10baseT/Full
100baseT/Half 100baseT/Full
1000baseT/Full
Supported pause frame use: No
Supports auto-negotiation: Yes
Advertised link modes: 10baseT/Half 10baseT/Full
100baseT/Half 100baseT/Full
1000baseT/Full
Advertised pause frame use: No
Advertised auto-negotiation: Yes
Speed: 1000Mb/s
Duplex: Full
Port: Twisted Pair
PHYAD: 0
Transceiver: internal
Auto-negotiation: on
MDI-X: off (auto)
Supports Wake-on: d
Wake-on: d
Current message level: 0x00000007 (7)
drv probe link
Link detected: yes
[root@evan-01 network-scripts]#
如果網卡沒有連接,最後面一行 link detected 顯示爲 no
更改主機名(瞭解怎麼更改就行了,在這就不更改了)
在之前我們就接觸過怎麼更改主機名。安裝完以後主機名默認爲 localhost.localdomain,使用 hostname 命令就可以查看 linux 的主機名
[root@evan-01 ~]# hostnamectl set-hostname hahaha
[root@evan-01 ~]# hostname
hahaha
[root@evan-01 ~]# bash
[root@hahaha ~]#
更改後不會立即在命令提示符裏面顯示,進入一個 shell 就OK了,或者退出重新登錄
設置 DNS
DNS 是用來解析域名的。平時我們訪問的網站都是直接輸入一個網址,而 DNS 把這個網址解析到一個 IP 。關於 DNS 的概念,在這不再詳細介紹。
在 linux 下設置 DNS 非常簡單,只要把 DNS 地址寫到配置文件 /etc/resolv.conf 中即可
[root@evan-01 ~]# cat /etc/resolv.conf
# Generated by NetworkManager
nameserver 119.29.29.29
[root@evan-01 ~]#
第一行的 # 開頭的行沒有實際意義,是一個註釋,意思是這個配置文件中的 DNS IP地址是由 NetworkManager 服務生成的。NetworkManager 是一個集成的 linux 網絡管理器,不多介紹。那麼爲什麼這個 DNS 由它生成呢?是否還有印象,我們在自定義網卡的時候就有一行 DNS1=119.29.29.29,其實就是因爲這行配置,該配置文件裏面纔有了 nameserver 的 IP 地址。resolv.conf 有它固有的格式,一定要寫成 nameserver IP 的格式。可以寫兩個或多個 nameserver,系統默認會用第一個 nameserver 解析域名,當第一個解析不成功的時候會使用第二個
增添一行 DNS2=8.8.8.8
[root@evan-01 ~]# vim /etc/sysconfig/network-scripts/ifcfg-ens33
重啓網卡
[root@evan-01 ~]# ifdown ens33 ; ifup ens33
Device 'ens33' successfully disconnected.
Connection successfully activated (D-Bus active path: /org/freedesktop/NetworkManager/ActiveConnection/4)
[root@evan-01 ~]# cat /etc/resolv.conf
# Generated by NetworkManager
nameserver 119.29.29.29
nameserver 8.8.8.8
[root@evan-01 ~]#
臨時修改 DNS IP 地址
如果要永久生效的話就像上面一樣修改網卡的配置文件
如果只是臨時修改 DNS IP 地址,就像下面一樣直接修改 /etc/resolv.conf ;
[root@evan-01 ~]# vim /etc/resolv.conf