linux网络

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

-ttcp协议相关 只显示 tcp协议
-uudp协议相关 只显示udp协议
-w裸套接字相关
-xunix sock 相关
-llisten状态连接
-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: 四 425 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 ...

426 14:25:20 localhost.localdomain dhcpd[5082]: No subnet declar...
426 14:25:20 localhost.localdomain dhcpd[5082]: ** Ignoring requ...
426 14:25:20 localhost.localdomain dhcpd[5082]:    you want, ple...
426 14:25:20 localhost.localdomain dhcpd[5082]:    in your dhcpd...
426 14:25:20 localhost.localdomain dhcpd[5082]:    to which inte...
426 14:25:20 localhost.localdomain dhcpd[5082]: 
426 14:25:20 localhost.localdomain dhcpd[5082]: Listening on LPF...
426 14:25:20 localhost.localdomain dhcpd[5082]: Sending on   LPF...
426 14:25:20 localhost.localdomain dhcpd[5082]: Sending on   Soc...
426 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

  • 13
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值