ifconfig命令的英文全称是“network interfaces configuring”,即用于配置和显示Linux内核中网络接口的网络参数。用ifconfig命令配置的网卡信息,在网卡重启后机器重启后,配置就不存在。要想将上述的配置信息永远的存的电脑里,那就要修改网卡的配置文件了
语法格式:ifconfig [参数]
[root@localhost ~]# ifconfig ens33
ens33: flags=4163 mtu 1500
inet 192.168.179.144 netmask 255.255.255.0 broadcast 192.168.179.255
inet6 fe80::bef0:ecef:63c4:e623 prefixlen 64 scopeid 0x20
ether 00:0c:29:62:79:2e txqueuelen 1000 (Ethernet)
RX packets 99359 bytes 106089440 (101.1 MiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 27477 bytes 2779318 (2.6 MiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
上面的各种参数介绍:
192.168.179.144- -IP地址
255.255.255.0- -子网掩码
192.168.179.255- -广播地址
00:0c:29:62:79:2e- -MAC地址
hostname命令用于显示和设置系统的主机名称。环境变量HOSTNAME也保存了当前的主机名。
在使用hostname命令设置主机名后,系统并不会永久保存新的主机名,重新启动机器之后还是原来的主机名。如果需要永久修改主机名,需要修改/etc/hosts和/etc/sysconfig/network的相关内容
语法格式:hostname [参数]
-a 显示主机别名
-d 显示DNS域名
-f 显示FQDN名称
-i 显示主机的ip地址
-s 显示短主机名称,在第一个点处截断
-y 显示NIS域名
[root@localhost ~]# hostname
localhost
[root@localhost ~]# hostname CSDN ‘修改主机名为CSDN’
[root@localhost ~]# hostname
CSDN
如果想要永久修改主机名称的话,可以使用此条命令或者修改配置文件
[root@csdn ~]# hostnamectl set-hostname CSDN
centos6系统在/etc/sysconfig/network文件
保存全局网络设置,主要包括主机名信息
centos7系统中在/etc/hostname文件
[root@localhost ~]# vi /etc/hostname
localhost.localdomain
route命令用来显示并设置linux内核中的网络路由表,route命令设置的路由主要是静态路由。要实现两个不同的子网之间的通信,需要一台连接两个网络的路由器,或者同时位于两个网络的网关来实现。
语法格式:route [参数]
-n 不执行DNS反向查找,直接显示数字形式的ip地址
[root@localhost ~]# route
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
default gateway 0.0.0.0 UG 100 0 0 ens33
192.168.179.0 0.0.0.0 255.255.255.0 U 100 0 0 ens33
[root@localhost ~]# route -n
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
0.0.0.0 192.168.179.2 0.0.0.0 UG 100 0 0 ens33
192.168.179.0 0.0.0.0 255.255.255.0 U 100 0 0 ens33
netstat 命令用于显示各种网络相关信息,如网络连接,路由表,接口状态 (Interface Statistics),masquerade 连接,多播成员 (Multicast Memberships) 等等。在并发量小于1万的时候使用,如果并发量大于1万使用的话效率很低。
语法格式:netstat [参数]
-a 所有活动的网络连接(包括正在监听的,未监听的服务端口)
-n 以数字形式显示
-p 显示pid进程号
-t 查看TCP连接
-u 查看UDP连接
-r 查看路由表
[root@localhost ~]# netstat -ntap
Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 9255/sshd
tcp 0 0 127.0.0.1:25 0.0.0.0:* LISTEN 9551/master
tcp 0 52 192.168.179.144:22 192.168.179.1:63512 ESTABLISHED 15594/sshd: root@pt
tcp6 0 0 :::80 :::* LISTEN 15103/httpd
tcp6 0 0 :::22 :::* LISTEN 9255/sshd
tcp6 0 0 ::1:25 :::* LISTEN 9551/master
从整体上看,netstat的输出结果可以分为两个部分:一个是Active Internet connections,称为有源TCP连接,其中”Recv-Q”和”Send-Q”指%0A的是接收队列和发送队列。这些数字一般都应该是0。如果不是则表示软件包正在队列中堆积。这种情况只能在非常少的情况见到;另一个是Active UNIX domain sockets,称为有源Unix域套接口(和网络套接字一样,但是只能用于本机通信,性能可以提高一倍)
ss是Socket Statistics的缩写。ss命令用来显示处于活动状态的套接字信息。它可以显示和netstat类似的内容。但ss的优势在于它能够显示更多更详细的有关TCP和连接状态的信息,而且比netstat更快速更高效,在并发量大于1万的时候使用。
语法格式:ss [参数]
-t 查看TCP连接
-u 查看UDP连接
-n 将服务名称改为端口号
-l 监听状态信息
-p 显示pid进程号
-a 所有的网络连接
-r 以服务名称显示
[root@localhost ~]# ss -t
State Recv-Q Send-Q Local Address:Port Peer Address:Port
ESTAB 0 52 192.168.179.144:ssh 192.168.179.1:63512
ping命令主要用来测试主机之间网络的连通性,也可以用于。执行ping指令会使用ICMP传输协议,发出要求回应的信息,若远端主机的网络功能没有问题,就会回应该信息,因而得知该主机运作正常。
不过值得我们注意的是:Linux系统下的ping命令与Windows系统下的ping命令稍有不同。Windows下运行ping命令一般会发出4个请求就结束运行该命令;而Linux下不会自动终止,此时需要我们按CTR+C终止或者使用-c参数为ping命令指定发送的请求数目。
语法格式:ping [参数] [目标主机]
-d 使用Socket的SO_DEBUG功能
-c 指定发送报文的次数
-i 指定收发信息的间隔时间
-I 使用指定的网络接口送出数据包
-l 设置在送出要求信息之前,先行发出的数据包
-n 只输出数值
-p 设置填满数据包的范本样式
-q 不显示指令执行过程
-R 记录路由过程
-s 设置数据包的大小
-t 设置存活数值TTL的大小
-v 详细显示指令的执行过程
[root@localhost ~]# ping -c 4 www.baidu.com
PING www.wshifen.com (103.235.46.39) 56(84) bytes of data.
64 bytes from 103.235.46.39 (103.235.46.39): icmp_seq=1 ttl=128 time=312 ms
64 bytes from 103.235.46.39 (103.235.46.39): icmp_seq=2 ttl=128 time=317 ms
64 bytes from 103.235.46.39 (103.235.46.39): icmp_seq=3 ttl=128 time=319 ms
64 bytes from 103.235.46.39 (103.235.46.39): icmp_seq=4 ttl=128 time=296 ms
--- www.wshifen.com ping statistics ---
4 packets transmitted, 4 received, 0% packet loss, time 3002ms
rtt min/avg/max/mdev = 296.436/311.433/319.719/9.080 ms
traceroute命令用于追踪数据包在网络上的传输时的全部路径,它默认发送的数据包大小是40字节。通过traceroute我们可以知道信息从你的计算机到互联网另一端的主机是走的什么路径。当然每次数据包由某一同样的出发点(source)到达某一同样的目的地(destination)走的路径可能会不一样,但基本上来说大部分时候所走的路由是相同的。
traceroute通过发送小的数据包到目的设备直到其返回,来测量其需要多长时间。一条路径上的每个设备traceroute要测3次。输出结果中包括每次测试的时间(ms)和设备的名称(如有的话)及其ip地址。
语法格式:traceroute [参数] [域名或者IP]
-d 使用Socket层级的排错功能
-f<存活数值> 设置第一个检测数据包的存活数值TTL的大小
-F 设置勿离断位
-g<网关> 设置来源路由网关,最多可设置8个
-i<网络界面> 使用指定的网络界面送出数据包
-I 使用ICMP回应取代UDP资料信息
-m<存活数值> 设置检测数据包的最大存活数值TTL的大小
-n 直接使用IP地址而非主机名称
-p<通信端口> 设置UDP传输协议的通信端口
-r 忽略普通的Routing Table,直接将数据包送到远端主机上
-s<来源地址> 设置本地主机送出数据包的IP地址
-t<服务类型> 设置检测数据包的TOS数值
-v 详细显示指令的执行过程
-w 设置等待远端主机回报的时间
-x 开启或关闭数据包的正确性检验
[root@localhost ~]# traceroute www.baidu.com
traceroute to www.baidu.com (104.193.88.77), 30 hops max, 60 byte packets
1 gateway (192.168.179.2) 0.116 ms 0.081 ms 0.033 ms
2 * * *
3 * * *
4 * * *
5 * * *
6 * * *
7 *^C
对于无法响应的节点,连接状态将显示为*
nslookup命令的英文全称为 “query Internet name server interactively ”。nslookup命令主要用来查询域名的DNS信息。在使用nslookup之前,先确保已经安装了它,nslookup属于bind-utils包下一个命令 。
nslookup有两种工作模式:“交互模式”和“非交互模式”。在命令行中直接输入nslookup,无需输入任何参数即进入交互模式,由“>”提示。
语法格式:nslookup [参数] [域名]
-sil 不显示任何警告信息
exit 退出命令
server 指定解析域名的服务器地址
set type=soa 设置查询域名授权起始信息
set type=a 设置查询域名A记录
set type=mx 设置查询域名邮件交换记录
[root@localhost ~]# nslookup www.baidu.com
Server: 8.8.8.8
Address: 8.8.8.8#53
Non-authoritative answer:
www.baidu.com canonical name = www.a.shifen.com.
www.a.shifen.com canonical name = www.wshifen.com.
Name: www.wshifen.com
Address: 104.193.88.123
Name: www.wshifen.com
Address: 104.193.88.77
dig命令的全称是“domain information groper”,它是一个用来灵活查询DNS的工具,它会打印出DNS域名服务器的回应,dig命令主要用来从DNS域名服务器查询主机地址信息。
dig命令与nslookup命令功能基本相同,但是dig命令灵活性好、易用、输出清晰。
语法格式: dig [参数] [IP]
@ 指定进行域名解析的域名服务器
-b 使用指定的本机ip地址向域名服务器发送域名查询请求
-f 指定dig以批处理的方式运行,指定的文件中保存着需要批处理查询的DNS任务信息
-p 指定域名服务器所使用端口号
-t 指定要查询的DNS数据类型(默认为A)
-x 执行逆向域名查询
-4 使用ipv4(默认)
-6 使用ipv6
-h 显示命令帮助信息
[root@localhost ~]# dig www.baidu.com
; <<>> DiG 9.11.4-P2-RedHat-9.11.4-16.P2.el7_8.6 <<>> www.baidu.com
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 39573
;; flags: qr rd ra; QUERY: 1, ANSWER: 4, AUTHORITY: 0, ADDITIONAL: 1
;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 512
;; QUESTION SECTION:
;www.baidu.com. IN A
;; ANSWER SECTION:
www.baidu.com. 1199 IN CNAME www.a.shifen.com.
www.a.shifen.com. 184 IN CNAME www.wshifen.com.
www.wshifen.com. 188 IN A 104.193.88.77
www.wshifen.com. 188 IN A 104.193.88.123
;; Query time: 37 msec
;; SERVER: 8.8.8.8#53(8.8.8.8)
;; WHEN: 四 7月 02 19:16:31 CST 2020
;; MSG SIZE rcvd: 127
ifconfig 网络接口 ip地址 [netmask 子网掩码]
ifconfig 网络接口 ip地址 [/子网掩码长度]
例如:
[root@localhost ~]# ifconfig ens33 192.168.179.155/24
ifconfig 网络接口 up
ifconfig 网络接口 down
例如:
[root@localhost ~]# ifconfig ens33 up
[root@localhost ~]# ifconfig ens33 down
ifconfig 网络接口:序号 IP地址/子网掩码
例如
[root@localhost ~]# ifconfig ens33:0 192.168.100.10/24
[root@localhost ~]# ifconfig
ens33: flags=4163 mtu 1500
inet 192.168.179.144 netmask 255.255.255.0 broadcast 192.168.179.255
inet6 fe80::bef0:ecef:63c4:e623 prefixlen 64 scopeid 0x20
ether 00:0c:29:62:79:2e txqueuelen 1000 (Ethernet)
RX packets 499 bytes 41962 (40.9 KiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 272 bytes 29877 (29.1 KiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
ens33:0: flags=4163 mtu 1500
inet 192.168.100.10 netmask 255.255.255.0 broadcast 192.168.100.255
ether 00:0c:29:62:79:2e txqueuelen 1000 (Ethernet)
route add -net 网段地址 gw IP地址
[root@localhost ~]# route #原路由表
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
default gateway 0.0.0.0 UG 100 0 0 ens33
192.168.100.0 0.0.0.0 255.255.255.0 U 0 0 0 ens33
192.168.179.0 0.0.0.0 255.255.255.0 U 100 0 0 ens33
[root@localhost ~]# route add -net 192.168.200.0/24 gw 192.168.179.2
[root@localhost ~]# route #增加后的路由表
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
default gateway 0.0.0.0 UG 100 0 0 ens33
192.168.100.0 0.0.0.0 255.255.255.0 U 0 0 0 ens33
192.168.179.0 0.0.0.0 255.255.255.0 U 100 0 0 ens33
192.168.200.0 gateway 255.255.255.0 UG 0 0 0 ens33
route del -net 网段地址
[root@localhost ~]# route del -net 192.168.200.0/24
[root@localhost ~]# route
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
default gateway 0.0.0.0 UG 100 0 0 ens33
192.168.100.0 0.0.0.0 255.255.255.0 U 0 0 0 ens33
192.168.179.0 0.0.0.0 255.255.255.0 U 100 0 0 ens33
route add default gw IP地址
[root@localhost ~]# route add default gw 192.168.179.2
[root@localhost ~]# route
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
default gateway 0.0.0.0 UG 0 0 0 ens33
default gateway 0.0.0.0 UG 100 0 0 ens33
192.168.100.0 0.0.0.0 255.255.255.0 U 0 0 0 ens33
192.168.179.0 0.0.0.0 255.255.255.0 U 100 0 0 ens33
route del default gw IP地址
[root@localhost ~]# route del default gw 192.168.179.2
[root@localhost ~]# route
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
default gateway 0.0.0.0 UG 100 0 0 ens33
192.168.100.0 0.0.0.0 255.255.255.0 U 0 0 0 ens33
192.168.179.0 0.0.0.0 255.255.255.0 U 100 0 0 ens33
[root@localhost ~]# systemctl restart network
[root@localhost ~]# ifup ens33 #启用网络接口
[root@localhost ~]# ifdown ens33 #禁用网络接口
/etc/resolv.conf文件
保存本机需要使用的DNS服务器的IP地址
[root@localhost ~]# vi /etc/resolv.conf
nameserver 8.8.8.8
注意: CentOS 7需要在NetworkManager.conf文件main段内设置dns=none,并重启NetworkManager服务,或者使用CentOS 7新添加nmcli命令进行设置
/etc/hosts文件
保存主机名与IP地址的映射记录
[root@localhost ~]# vi /etc/hosts
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
104.193.88.77 www.baidu.com #增加百度的映射记录
hosts文件和DNS服务器的比较
默认情况下,系统首先从hosts文件查找解析记录
hosts文件只对当前的主机有效
hosts文件可减少DNS查询过程,从而加快访问速度
/etc/sysconfig/network-scripts/ifcfg-ens33
保存的网卡配置信息
[root@localhost ~]# vi /etc/sysconfig/network-scripts/ifcfg-ens33
TYPE=Ethernet
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=static #设置网络接口的配置方式, static表示使用静态指定的IP地址, dhcp表示通过dhcp的方式动态获取地址
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_FAILURE_FATAL=no
IPV6_ADDR_GEN_MODE=stable-privacy
NAME=ens33
UUID=14636e7e-9ae7-4997-93e9-b13bc7754009
DEVICE=ens33 #设置网络接口的名称
ONBOOT=yes #设置网络接口是否在Linux系统启动时激活
IPADDR=192.168.179.144 #设置网络接口的IP地址
NETMASK=255.255.255.0 #设置网络接口的子网掩码
GATEWAY=192.168.179.2 #设置网络接口的默认网关地址
DNS1=8.8.8.8 #设置DNS服务器的IP地址