linux网络
centos 网卡位置
vim /etc/sysconfig/network-scripts/
查看网卡信息,临时修改网卡配置
ifconfig | 默认是看所有开启的网卡 |
---|---|
ifconfig 网卡名 | 查看单独的网卡 |
ifconfig 网卡名 up | 开启网卡 |
ifconfig 网卡名 down | 关闭网卡 |
ifconfig -a | 显示所有网卡,包括未开启的 |
ifconfig 网卡名:0 ip/子网 | 设置临时网卡 |
ifconfig 网卡名 ip地址/子网 | 临时设置地址 |
ifconfig 网卡名称 0 | 取消网卡设置 |
路由route
查看或设置主机中路由表信息
临时添加路由
route -n | 显示路由信息 -n 数字形式显示 |
---|---|
route add -net 网段 gw 网关 | 添加静态路由 |
route del -net 网段 | 删除路由 |
route -n | 查询网关 |
永久添加路由
[root@localhost ~]#vim /etc/sysconfig/network-scripts/route-ens33
10.0.0.0/24 via 192.168.91.2
[root@localhost ~]#systemctl restart network
[root@localhost ~]#vim /etc/sysconfig/static-routes
any net 172.16.0.0/16 gw 172.16.1.2
[root@localhost ~]#systemctl restart network
主机名
hostname | 查看主机名 |
---|---|
hostname 主机名 | 临时修改主机名 |
vim /etc/hostname | 将主机名添加到该文件中,但是只有第一行生效 |
hostnamectl set-hostname 名字 | 永久修改主机名 |
查看网络链接情况
netstat
-a | 显示主机中所有的网络连接信息 |
---|---|
-n | 以数字的形式显示相关的主机地址、端口信息 |
-r | 显示路由信息 |
-l | 显示处于监听状态的网络连接以及端口信息 |
-t | 查看TCP相关信息 |
-u | 显示UDP协议相关信息 |
-p | 显示与网络连接相关联的进程号、进程名称信息 |
ss
-t | tcp协议相关 只显示 tcp协议 |
---|---|
-u | udp协议相关 只显示udp协议 |
-w | 裸套接字相关 |
-x | unix sock 相关 |
-l | listen状态连接 |
-a | 所有状态 |
-n | 数字格式 |
-p | 相关的程序及PID |
-e | 扩展信息 |
-m | 内存用量 |
-o | 计时器信息 |
-r | –resolve把IP解释为域名,把端口号解释为协议名称。dns服务 |
ss常用的选项 -natp -naup
ss和netstat的区别
ss速度比netstat速度快
ss是内核态,netatat是用户态,内核态更接近底层,所以速度更快
网络相关的文件
文件类型 | 文件位置 | 文件作用 |
---|---|---|
网卡文件 | /etc/sysconfig/network-scripts/ifcfg-* | 修改IP地址,dns网关获取方式等设置 |
主机名文件 | /etc/hostname | 永久修改主机名,注意只有第一行生效 |
DNS文件 | /etc/resolv.conf | 记录了dns服务的地址 |
路由 | /etc/sysconfig/network-scripts/route-* | 永久记录路由信息 |
双网卡实验
[root@localhost ~]# ifconfig
ens33: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 192.168.118.20 netmask 255.255.255.0 broadcast 192.168.118.255
inet6 fe80::9d50:7f7a:9a72:2607 prefixlen 64 scopeid 0x20<link>
ether 00:0c:29:0c:c2:99 txqueuelen 1000 (Ethernet)
RX packets 11763 bytes 753511 (735.8 KiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 28148 bytes 7169049 (6.8 MiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
ens36: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet6 fe80::a24:46bc:78c:9b9d prefixlen 64 scopeid 0x20<link>
ether 00:0c:29:0c:c2:a3 txqueuelen 1000 (Ethernet)
RX packets 0 bytes 0 (0.0 B)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 9 bytes 1246 (1.2 KiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
#ens36是新增网卡,网卡配置中没有ip地址等信息
[root@localhost ~]# vim /etc/sysconfig/network-scripts/ifcfg-ens36
TYPE=Ethernet
BOOTPROTO=static
NAME=ens36
DEVICE=ens36
ONBOOT=yes
IPADDR=192.168.118.21
NETMASK=255.255.255.0
GATEWAY=192.168.118.2
DNS1=8.8.8.8
DNS2=114.114.114.114
#新建一个ens36的配置文件
[root@localhost ~]# ping www.baidu.com
PING www.a.shifen.com (180.101.50.188) 56(84) bytes of data.
64 bytes from 180.101.50.188 (180.101.50.188): icmp_seq=1 ttl=128 time=12.0 ms
64 bytes from 180.101.50.188 (180.101.50.188): icmp_seq=2 ttl=128 time=2.42 ms
64 bytes from 180.101.50.188 (180.101.50.188): icmp_seq=3 ttl=128 time=5.16 ms
64 bytes from 180.101.50.188 (180.101.50.188): icmp_seq=4 ttl=128 time=6.17 ms
ping
测试网络连通性
格式:ping[选项]目标主机
-c | 发送多少个包 |
---|---|
-w 10 | 等待10秒 |
[root@localhost ~]# ping -c 3 www.baidu.com
PING www.a.shifen.com (180.101.50.242) 56(84) bytes of data.
64 bytes from 180.101.50.242 (180.101.50.242): icmp_seq=1 ttl=128 time=2.38 ms
64 bytes from 180.101.50.242 (180.101.50.242): icmp_seq=2 ttl=128 time=3.58 ms
64 bytes from 180.101.50.242 (180.101.50.242): icmp_seq=3 ttl=128 time=2.23 ms
--- www.a.shifen.com ping statistics ---
3 packets transmitted, 3 received, 0% packet loss, time 6015ms
rtt min/avg/max/mdev = 2.235/2.734/3.587/0.606 ms
[root@localhost ~]# ping www.baidu.com -w 10
PING www.a.shifen.com (180.101.50.242) 56(84) bytes of data.
64 bytes from 180.101.50.242 (180.101.50.242): icmp_seq=1 ttl=128 time=1.33 ms
64 bytes from 180.101.50.242 (180.101.50.242): icmp_seq=2 ttl=128 time=5.18 ms
64 bytes from 180.101.50.242 (180.101.50.242): icmp_seq=3 ttl=128 time=2.43 ms
64 bytes from 180.101.50.242 (180.101.50.242): icmp_seq=4 ttl=128 time=4.17 ms
64 bytes from 180.101.50.242 (180.101.50.242): icmp_seq=5 ttl=128 time=2.16 ms
64 bytes from 180.101.50.242 (180.101.50.242): icmp_seq=6 ttl=128 time=0.668 ms
--- www.a.shifen.com ping statistics ---
6 packets transmitted, 6 received, 0% packet loss, time 9035ms
rtt min/avg/max/mdev = 0.668/2.659/5.182/1.565 ms
traceroute
路由追踪
格式:traceroute ip地址
[root@kgc ~]#traceroute 192.168.91.101
traceroute to 192.168.91.101 (192.168.91.101), 30 hops max, 60 byte packets
1 192.168.91.101 (192.168.91.101) 0.752 ms 0.644 ms 0.635 ms
nslookup
域名解析nslookup
格式:nslookup 域名
[root@kgc ~]#nslookup www.baidu.com
Server: 8.8.8.8
Address: 8.8.8.8#53
dig可以显示出更多详细信息
[root@localhost ~]# dig www.baidu.com
; <<>> DiG 9.9.4-RedHat-9.9.4-50.el7 <<>> www.baidu.com
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 21327
;; flags: qr rd ra; QUERY: 1, ANSWER: 3, AUTHORITY: 0, ADDITIONAL: 1
;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 512
;; QUESTION SECTION:
;www.baidu.com. IN A
;; ANSWER SECTION:
www.baidu.com. 1014 IN CNAME www.a.shifen.com.
www.a.shifen.com. 47 IN A 180.101.50.188
www.a.shifen.com. 47 IN A 180.101.50.242
;; Query time: 51 msec
;; SERVER: 8.8.8.8#53(8.8.8.8)
;; WHEN: 四 4月 25 14:11:25 CST 2024
;; MSG SIZE rcvd: 101
域名解析配置文件
本地主机映射文件
/etc/resolv.conf dns
保存的是你DNS服务器的地址
/etc/hosts 文件
保存主机名与IP地址的映射记录
[root@localhost ~]# cat /etc/hosts
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.
192.168.91.100 www.yun.com
[root@kgc ~]#ping www.yun.com
PING www.yun.com (192.168.91.100) 56(84) bytes of data.
64 bytes from www.yun.com (192.168.91.100): icmp_seq=1 ttl=64 time=0.047 ms
64 bytes from www.yun.com (192.168.91.100): icmp_seq=2 ttl=64 time=0.065 ms
64 bytes from www.yun.com (192.168.91.100): icmp_seq=3 ttl=64 time=0.067 ms
64 bytes from www.yun.com (192.168.91.100): icmp_seq=4 ttl=64 time=0.062 ms
64 bytes from www.yun.com (192.168.91.100): icmp_seq=5 ttl=64 time=0.071 ms
64 bytes from www.yun.com (192.168.91.100): icmp_seq=6 ttl=64 time=0.130
hosts文件和DNS服务器的比较
- 默认情况下,系统首先从 hosts 文件查找解析记录
- hosts 文件只对当前的主机有效
- hosts 文件可减少 DNS 查询过程,从而加快访问速度
scp
远程同步
[root@kgc opt]#scp /opt/passwd lisi@192.168.91.101:/opt/passwd
命令字 本地文件地址 对方用户名@地址冒号对面地址
[root@kgc opt]#scp root@192.168.91.101:/opt/passwd /opt/
命令字 对方用户名@地址冒号对面地址 本地地址
ethtool
查看网卡信息
[root@localhost ~]# ethtool -i ens36
driver: e1000
version: 7.3.21-k8-NAPI
firmware-version:
expansion-rom-version:
bus-info: 0000:02:04.0
supports-statistics: yes
supports-test: yes
supports-eeprom-access: yes
supports-register-dump: yes
supports-priv-flags: no
[root@localhost ~]#ethtool -p ens33
#让ens33 网卡快速闪烁
tcpdump 抓包工具
tcpdump option proto dir type
选项 协议 数据的方向 抓取的数据类型
proto(协议):**
1. tcp udp icmp
2. ip ipv6
3. arp
dir(方向):
1. src
2. dst
3. src and dst
type(类型)
1. host 主机
2. net 网段
3. port 端口
4. port range 端口范围
tcpdump [-adeflnNOpqStvx][-c<数据包数目>][-dd][-ddd][-F<表达文件>][-i<网络界面>][-r<
数据包文件>][-s<数据包大小>][-tt][-T<数据包类型>][-vv][-w<数据包文件>][输出数据栏位]
参数说明:
-a 尝试将网络和广播地址转换成名称。
-c<数据包数目> 收到指定的数据包数目后,就停止进行倾倒操作。
-d 把编译过的数据包编码转换成可阅读的格式,并倾倒到标准输出。
-dd 把编译过的数据包编码转换成C语言的格式,并倾倒到标准输出。
-ddd 把编译过的数据包编码转换成十进制数字的格式,并倾倒到标准输出。
-e 在每列倾倒资料上显示连接层级的文件头。
-f 用数字显示网际网络地址。
-F<表达文件> 指定内含表达方式的文件。
-i<网络接口> 使用指定的网络截面送出数据包。
-l 使用标准输出列的缓冲区。
-n 不把主机的网络地址转换成名字。
-N 不列出域名。
-O 不将数据包编码最佳化。
-p 不让网络界面进入混杂模式。
-q 快速输出,仅列出少数的传输协议信息。
-r<数据包文件> 从指定的文件读取数据包数据。
-s<数据包大小> 设置每个数据包的大小。
-S 用绝对而非相对数值列出TCP关联数。
-t 在每列倾倒资料上不显示时间戳记。
-tt 在每列倾倒资料上显示未经格式化的时间戳记。
-T<数据包类型> 强制将表达方式所指定的数据包转译成设置的数据包类型。
-v 详细显示指令执行过程。
-vv 更详细显示指令执行过程。
-x 用十六进制字码列出数据包资料。
-w<数据包文件> 把数据包数据写入指定的文件。
-i 指定网卡
[root@localhost data]#tcpdump -i ens33
输出格式
11:53:55.288476 IP 192.168.91.1.47496 > localhost.localdomain.ssh: Flags [P.], seq 261:313, ack 1688848, win 4106, length 52^C
输出格式讲解:
第一列:时分毫秒 11:53:55.288476
第二例:网络协议ip
第三列:发送方IP地址+端口号 ip地址:192.168.91.1 端口号:47496 >表示数据流向
第四列:主机名协议 主机名:localhost.localdomain 协议:ssh
第五列: seq号 ack号 win窗口长度 tcp的标志位
1过滤规则
1.1基于ip地址/网段过滤
host选项
主机2 ping 主机1
[root@localhost data]#tcpdump -i ens33 host 192.168.91.101
#只关心 和 192.168.91.101 有关的流量
dst 选项 目的地址 src 选项 源地址
root@localhost ~]#tcpdump -i ens33 dst 192.168.91.101
[root@localhost ~]#tcpdump -i ens33 src 192.168.91.101
net 选项 tcpdump net 192.168.91.0/24
[root@localhost ~]#tcpdump net 192.168.91.0/24 -i ens33
控制方向
[root@localhost ~]#tcpdump -i ens33 src net 192.168.91.0/24
[root@localhost ~]#tcpdump -i ens33 dst net 192.168.91.0/24
基于端口过滤
port 端口号 tcpdump port 80
[root@localhost ~]#tcpdump -i ens33 port 80
or
[root@localhost ~]#tcpdump -i ens33 port 80 or port 22
#80 和 22 端口
[root@localhost ~]#tcpdump -i ens33 src port 80 or port 22
[root@localhost ~]#tcpdump -i ens33 dst port 80 or port 22
范围的端口
[root@localhost ~]#tcpdump -i ens33 portrange 80-8080
#80 和 22 端口
[root@localhost ~]#tcpdump -i ens33 src portrange 80-8080
[root@localhost ~]#tcpdump -i ens33 dst portrange 80-8080
基于协议
protocal
协议种类:ip arp icmp tcp udp
应用层协议不可以直接抓取
[root@localhost ~]#ping www.baidu.com
[root@localhost ~]#tcpdump -i ens33 icmp
常见参数
-i 指定监听网络监听端口
[root@localhost ~]#tcpdump -i ens33
[root@localhost ~]#tcpdump -i any
-w 将捕获信息保存到文件中,且不分析核打印在屏幕上
[root@localhost ~]#tcpdump -i any -w test.cap
#将文件后缀改成cap 或者pcap形式可以直接用wireshark打开
-r 读取上面存储的文件
[root@localhost ~]#tcpdump -r test
reading from file test, link-type LINUX_SLL (Linux cooked)
01:58:09.960457 IP localhost.localdomain.ssh > 192.168.91.1.16603: Flags [P.], seq 993857661:993857809, ack 1860109721, win 274, length 148
01:58:09.960854 IP 192.168.91.1.16603 > localhost.localdomain.ssh: Flags [.], ack 148, win 4101, length 0
01:58:20.585572 IP 192.168.91.1.16603 > localhost.localdomain.ssh: Flags [P.], seq 1:53, ack 148, win 4101, length 52
-n 不把ip转换成域名,直接显示ip
[root@localhost ~]#tcpdump -i ens33
02:03:27.480712 IP 192.168.91.1.16603 > localhost.localdomain.ssh: Flags [P.], seq 53:105, ack 168336, win 4100, length 52
[root@localhost ~]#tcpdump -i ens33 -n
#主机名变成了IP地址
02:03:57.921893 IP 192.168.91.1.16603 > 192.168.91.100.ssh: Flags [P.], seq 1:53, ack 150592, win 4106, length 52
-nn 直接显示ip和端口号
[root@localhost ~]#tcpdump -i ens33
02:03:27.480712 IP 192.168.91.1.16603 > localhost.localdomain.ssh: Flags [P.], seq 53:105, ack 168336, win 4100, length 52
[root@localhost ~]#tcpdump -i ens33 -n
#ssh 变成了端口号
02:03:57.921893 IP 192.168.91.1.16603 > 192.168.91.100.22: Flags [P.], seq 1:53, ack 150592, win 4106, length 52
-t 在每行的输出中,不显示时间
[root@localhost ~]#tcpdump -i ens33 -t
-tt 输出一个时间戳
时间戳(timestamp),通常是一个字符序列,唯一地标识某一刻的时间。
[root@localhost ~]#tcpdump -i ens33 -tt
-v 产生详细的输出
[root@localhost ~]#tcpdump -i ens33 -v
[root@localhost ~]#tcpdump -i ens33 -vv
[root@localhost ~]#tcpdump -i ens33 -vvv
#v越多 信息越详细
-c 指定收取数据包的数量
[root@localhost ~]#tcpdump -i ens33 -c 20
#指定抓取 20 个包后退出
-C 需要与w 配合使用 指定单个文件的大小 百万字节
[root@localhost data]#tcpdump -i ens33 -C 1 -w test
tcpdump: listening on ens33, link-type EN10MB (Ethernet), capture size 262144 bytes
[root@localhost data]#yum install epel-release.noarch -y
# 制造流量 模拟环境
-Q 过滤数据包的方向 in out inout
[root@localhost data]#tcpdump -i ens33 -Q in
#只有in方向
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on ens33, link-type EN10MB (Ethernet), capture size 262144 bytes
02:24:55.547329 IP 192.168.91.1.16603 > localhost.localdomain.ssh: Flags [.], ack 1002982309, win 4105, length 0
02:24:55.591780 IP dns.google.domain > localhost.localdomain.52360: 33034 NXDomain 0/0/0 (45)
02:24:55.636957 IP dns.google.domain > localhost.localdomain.50352: 58856 NXDomain 0/0/0 (43)
02:24:55.678358 IP 192.168.91.1.16603 > localhost.localdomain.ssh: Flags [.], ack 165, win 4104, length 0
02:24:55.682818 IP dns.google.domain > localhost.localdomain.60698: 16333 1/0/0 PTR dns.google. (62)
02:24:55.723179 IP 192.168.91.1.16603 > localhost.localdomain.ssh: Flags [.], ack 617, win 4102, length 0
[root@localhost data]#tcpdump -i ens33 -Q out
#只有out方向
-q简洁的输出
[root@localhost data]#tcpdump -i ens33 -q
-D 显示所有可用的列表
[root@localhost data]#tcpdump -D
#回环 usb 等接口
1.virbr0
2.nflog (Linux netfilter log (NFLOG) interface)
3.nfqueue (Linux netfilter queue (NFQUEUE) interface)
4.usbmon1 (USB bus number 1)
5.usbmon2 (USB bus number 2)
6.ens33
7.any (Pseudo-device that captures on all interfaces)
8.lo [Loopback]
-s 指定数据报的大小
[root@localhost data]#tcpdump -i ens33 -s 50
02:39:09.016238 IP localhost.localdomain.ssh > 192.168.91.1.16603: [|tcp]
02:39:09.018305 IP 192.168.91.1.16603 > localhost.localdomain.ssh: [|tcp]
02:39:09.018337 IP localhost.localdomain.ssh > 192.168.91.1.16603: [|tcp]
02:39:09.018715 IP 192.168.91.1.16603 > localhost.localdomain.ssh: [|tcp]
[root@localhost data]#tcpdump -i ens33 -s 50 tcp port 53
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on ens33, link-type EN10MB (Ethernet), capture size 50 bytes
#大小为50
#默认为262144
bond
将多块网卡绑定同一IP地址对外提供服务,可以实现高可用或者负载均衡。直接给两块网卡设置同一IP地址是不可以的。通过 bonding,虚拟一块网卡对外提供连接,物理网卡的被修改为相同的MAC地址
bonding聚合链路工作模式
- mod=0:数据包轮流通过不同的网络接口发送,实现负载均衡
- mod=1:一个接口正常工作,其他备用接口处于待命状态。当主接口故障时,备份接口接管工作
- mod=2:XOR,根据源和目标MAC地址,对接口进行散列,以选择发送数据包的接口,提供负载均衡和failover功能
- mod=3:broadcast广播策略,一个报文会复制两份往bond下的两个接口分别发送出去,当有对端交换机失效,感觉不到任何downtime,有很好的容错机制
- mod=4:动态链路聚合,根据网络交换机的LACP协议进行动态链路聚合,实现负载均衡和故障切换
- mod=5:传输负载均衡,按照发送数据包的一组源和目标IP地址进行散列,实现负载均衡
- mod=6:自适应负载均衡,该模式使用转发散列算法基于源和目标IP地址、源和目标端口号,以及传输协议进行数据包散列,这样,不同的数据流可以通过不同的接口进行传输,实现负载均衡。此模式能够根据数据流的特性进行动态调整,并提供较好的父爱均衡效果
[root@localhost ~]# ifconfig #查看当前网卡信息
ens33: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 192.168.118.20 netmask 255.255.255.0 broadcast 192.168.118.255
inet6 fe80::9d50:7f7a:9a72:2607 prefixlen 64 scopeid 0x20<link>
ether 00:0c:29:0c:c2:99 txqueuelen 1000 (Ethernet)
RX packets 11758 bytes 2421209 (2.3 MiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 19866 bytes 33824308 (32.2 MiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
ens36: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet6 fe80::a24:46bc:78c:9b9d prefixlen 64 scopeid 0x20<link>
ether 00:0c:29:0c:c2:a3 txqueuelen 1000 (Ethernet)
RX packets 0 bytes 0 (0.0 B)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 12 bytes 1992 (1.9 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 12 bytes 1044 (1.0 KiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 12 bytes 1044 (1.0 KiB)
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:21:c0:47 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
[root@localhost ~]# cd /etc/sysconfig/network-scripts/
[root@localhost network-scripts]# vim ifcfg-bond0
NAME=bond0
TYPE=bond
DEVICE=bond0
BOOTPROTO=none
IPADDR=192.168.118.20
NETMASK=255.255.255.0
GATEWAY=192.168.118.2
BONDING_OPTS="mode=1 miimon=100 fail_over_mac=1"
[root@localhost network-scripts]# vim ifcfg-ens33
BOOTPROTO=static
NAME=ens33
DEVICE=ens33
ONBOOT=yes
MASTER=bond0
SLAVE=yes
[root@localhost network-scripts]# vim ifcfg-ens36
NAME=ens36
DEVICE=ens36
BOOTPROTO=none
MASTER=bond0
SLAVE=yes
PNBOOT=yes
[root@localhost network-scripts]# systemctl restart network #重启网络服务
[root@localhost network-scripts]# cat /proc/net/bonding/bond0 #查看bondo状态
Ethernet Channel Bonding Driver: v3.7.1 (April 27, 2011)
Bonding Mode: fault-tolerance (active-backup) (fail_over_mac active)
Primary Slave: None
Currently Active Slave: ens33
MII Status: up
MII Polling Interval (ms): 100
Up Delay (ms): 0
Down Delay (ms): 0
Slave Interface: ens33
MII Status: up
Speed: 1000 Mbps
Duplex: full
Link Failure Count: 0
Permanent HW addr: 00:0c:29:0c:c2:99
Slave queue ID: 0
Slave Interface: ens36
MII Status: up
Speed: 1000 Mbps
Duplex: full
Link Failure Count: 0
Permanent HW addr: 00:0c:29:0c:c2:a3
Slave queue ID: 0
[root@localhost network-scripts]# ifconfig ens33 down #关闭ens33 模拟故障
[root@localhost network-scripts]# cat /proc/net/bonding/bond0 #查看状态ens36继续提供服务
Ethernet Channel Bonding Driver: v3.7.1 (April 27, 2011)
Bonding Mode: fault-tolerance (active-backup) (fail_over_mac active)
Primary Slave: None
Currently Active Slave: ens36
MII Status: up
MII Polling Interval (ms): 100
Up Delay (ms): 0
Down Delay (ms): 0
Slave Interface: ens33
MII Status: down
Speed: 1000 Mbps
Duplex: full
Link Failure Count: 1
Permanent HW addr: 00:0c:29:0c:c2:99
Slave queue ID: 0
Slave Interface: ens36
MII Status: up
Speed: 1000 Mbps
Duplex: full
Link Failure Count: 0
Permanent HW addr: 00:0c:29:0c:c2:a3
Slave queue ID: 0
DHCP
DHCP是用于自动获取IP地址的协议
工作原理
1.客户端会发送一个DHCP报文,去寻找DHCP服务器
2.客户端只会接收第一个回复的DHCP服务器的报文
3.服务端会发送一个DHCP报文 报文中会携带相关配置信息
4.客户端接收到这个报文会自动配置相关信息并会回复一个DHCP Request报文
5.服务器收到request报文会将分配的地址从地址池抹去,并且回复DHCP ACK报文
[root@localhost etc]# yum install dhcp -y #安装
[root@localhost ~]# rpm -qc dhcp #查询配置文件位置
/etc/dhcp/dhcpd.conf
/etc/dhcp/dhcpd6.conf
/etc/openldap/schema/dhcp.schema
/etc/sysconfig/dhcpd
/var/lib/dhcpd/dhcpd.leases
/var/lib/dhcpd/dhcpd6.leases
[root@localhost ~]# cat /etc/dhcp/dhcpd.conf
# DHCP Server Configurat file #配置文件中什么都没有可以将示例文件和此文件合并
# see /usr/share/doc/dhcp*/dhcpd.conf.example #示例文件位置
# see dhcpd.conf(5) manpage
#
[root@localhost ~]# cp -p /usr/share/doc/dhcp*/dhcpd.conf.example /etc/dhcp/dhcpd.conf
cp:是否覆盖“/etc/dhcp/dhcpd.conf”? y
[root@localhost ~]# vim /etc/dhcp/dhcpd.conf
# option definitions common to all supported networks...
option domain-name "example.org";
option domain-name-servers 218.2.135.1; #找到这个位置修改 指定DNS服务器地址
subnet 192.168.118.0 netmask 255.255.255.0 { #找到这个位置修改 声明要分配的网段设置好子网掩码
range 192.168.118.50 192.168.118.100; #设置地址池
option routers 192.168.118.2; #指定默认网关地址
}
[root@localhost ~]# systemctl start dhcpd #启动dhcp服务
[root@localhost ~]# systemctl status dhcpd #查看dhcpd的状态
● dhcpd.service - DHCPv4 Server Daemon
Loaded: loaded (/usr/lib/systemd/system/dhcpd.service; disabled; vendor preset: disabled)
Active: active (running) since 五 2024-04-26 14:25:20 CST; 1min 4s ago
Docs: man:dhcpd(8)
man:dhcpd.conf(5)
Main PID: 5082 (dhcpd)
Status: "Dispatching packets..."
CGroup: /system.slice/dhcpd.service
└─5082 /usr/sbin/dhcpd -f -cf /etc/dhcp/dhcpd.conf -user ...
4月 26 14:25:20 localhost.localdomain dhcpd[5082]: No subnet declar...
4月 26 14:25:20 localhost.localdomain dhcpd[5082]: ** Ignoring requ...
4月 26 14:25:20 localhost.localdomain dhcpd[5082]: you want, ple...
4月 26 14:25:20 localhost.localdomain dhcpd[5082]: in your dhcpd...
4月 26 14:25:20 localhost.localdomain dhcpd[5082]: to which inte...
4月 26 14:25:20 localhost.localdomain dhcpd[5082]:
4月 26 14:25:20 localhost.localdomain dhcpd[5082]: Listening on LPF...
4月 26 14:25:20 localhost.localdomain dhcpd[5082]: Sending on LPF...
4月 26 14:25:20 localhost.localdomain dhcpd[5082]: Sending on Soc...
4月 26 14:25:20 localhost.localdomain systemd[1]: Started DHCPv4 Se...
Hint: Some lines were ellipsized, use -l to show in full.
时间同步
[root@localhost ~]# date -s"1 year"
2025年 04月 26日 星期六 14:28:23 CST
[root@localhost ~]# ntpdate ntp.aliyun.com #和阿里云ntp同步
26 Apr 14:29:07 ntpdate[5128]: step time server 203.107.6.88 offset -31535999.989805 sec