用 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