linux网络设置

本文详细介绍了如何在Linux主机上配置网络,包括设置主机名、IP地址、DNS服务器、路由、网卡管理、使用ifconfig、永久与临时修改、ip命令、route命令、网络连接监控、DNS解析、多网卡绑定(bonding)以及DHCP服务的配置。
摘要由CSDN通过智能技术生成

将Linux主机接入到网络,需要配置网络相关设置

一般包括如下内容:

  • 主机名
  • ip/network
  • 路由:默认网关
  • DNS服务器   主DNS服务器    次DNS服务器   第三个DNS服务器

网络相关的文件

文件类型

文件位置

文件作用

网卡文件

/etc/sysconfig/network-scripts/ifcfg-*

修改ip地址 dns 网关 获取方式等设置

主机名

/etc/hostname

永久修改主机名 注意只有第一行生效

dns文件

/etc/resolv.conf

记录了dns 服务的地址,

路由

/etc/sysconfig/network-scripts/route-ens33

永久记录路由

挂载

/etc/fstab

挂载

用户

/etc/passwd

用户

密码

/etc/shadow

密码

网络配置命令

ifconfig

基础用法

在不带任何选项和参数执行 ifconfig 命令时, 将显示当前主机中已启用(活动)的网络接口信息

网卡名称详解:

eth0      eth1

ens33:第一块以太网卡的名称详解:

“ens33”中的“en”是“EtherNet”的缩写,表示网卡    以太网(局域网中的一种)                                                                                          互联网

类型为以太网,“s”表示热插拔插槽上的设备(hot-plug Slot),数字“33”表示插槽 编号

临时修改

ifconfig  

默认是查看所有开启的网卡

ifconfig  网卡名

查看单个的网卡

ifconfig  网卡名  up

开启网卡

ifconfig  网卡名  down

关闭网卡

ifconfig  -a

显示所有网卡,包括未开启的

ifconfig  网卡名:0  ip/子网

设置临时网卡

ifconfig 网卡名  IP地址/子网

临时设置地址

ifconfig  网卡名  0

[root@localhost ~]#ifconfig ens36 down

#关闭

[root@localhost ~]#ifconfig ens36 up

#开启

[root@localhost ~]#ifconfig ens33:0 172.16.88.10

#设置临时虚拟网卡

[root@localhost ~]#ifconfig ens33:0 down

#关闭虚拟网卡

[root@localhost ~]#ifconfig -a

#查看所有网卡包括为开启的

[root@localhost ~]#ifconfig -s

#网络通讯情况

临时修改网卡名称

先把ens36网卡关掉

关掉之后改名

永久修改网卡名称

先修改eth0的配置文件并且把ifcfg-ens33删掉

2.修改grub的配置文件

[root@localhost:~# ]vim /etc/default/grub

3重新生成grub的配置文件

4重启设备,并用ifconfig查看

ip

ip link  数据链路层

拔掉网线,可以看到网卡状态

ip addr 网络层

route  路由

#路由表主要构成:
#Destination: 目标网络ID,表示可以到达的目标网络ID,0.0.0.0/0 表示所有未知网络,又称为默认路
由,优先级最低
#Genmask:目标网络对应的netmask
#Iface: 到达对应网络,应该从当前主机哪个网卡发送出来
#Gateway: 到达非直连的网络,将数据发送到临近(下一个)路由器的临近本主机的接口的IP地址,如果是直连网络,gateway是0.0.0.0
#Metric: 开销cost,值越小,路由记录的优先级最高

route del -net

网段地址 删除指定网段的路由记录

route add default gw lP地址

向路由表中添加默认网关记录

route del default gw lP地址

删除路由表中默认的网关记录

route -n   

显示路由信息-n数字形式显示

route add -net 网段 gw 网关   

添加静态路由

route del  -net  网段 

删除路由

临时性修改

添加静态路由

删除路由

永久性修改
[root@localhost ~]#vim /etc/sysconfig/network-scripts/route-ens33
#修改route网卡配置文件
172.16.0.0/16 via  172.16.88.2
目标网段/子网掩码   via   网关
[rootalocalhost ~l#systemctl restart network
重启网卡

####################################################################

[root@localhost ~l#vim /etc/sysconfig/static-routes
any net 172.16.0.0/16 gw 172.16.88.2
[root@localhost ~#systemctl restart network

hostname

查看或设置当前主机名

hostname [主机名]

主机名

hostname

查看主机

hostname 主机名

临时修改主机名

vim /etc/hostname

将主机名添加到该文件中可以永久修改主机名,但是只有在第一行生效

hostnamectl se-hostname 主机名

永久修改

例子:

临时修改主机名

注意:重启之后就会变回来

永久修改主机名

1.通过修改/etc/hostname文件来修改主机名

[root@localhost ~]# vim /etc/hostname

123


2.通过hostnamectl来修改主机名

[root@localhost ~]# hostnamectl set-hostname 123

[root@localhost ~]# bash

[root@123 ~]# hostname

123

查看链路状态

netstat命令

查看网络连接情况

netstat选项:

-a:显示主机中所有活动的网络连接信息(包括监听、非监听状态的服务端口)

-n:以数字的形式显示相关的主机地址、端口等信息

-r:显示路由表信息

-l:显示处于监听(Listening)状态的网络连接及端口信息

-t:查看 TCP(Transmission Control Protocol,传输控制协议)相关的信息

-u:显示 UDP(User Datagram Protocol,用户数据报协议)协议相关的信息

-p:显示与网络连接相关联的进程号、进程名称信息(该选项需要 root 权限)

ss( socket statistics)

ss 命令:也可以查看网络连接情况,主要用于获取 socket (内核态)统计信息,它可以显示和 netstat 命令类似的输出内容。

但 ss 的优势在于它能够显示更多更详细的有关 TCP 和连接状态的信息,而且比 netstat 更快速更高效

当服务器的socket连接数量变得非常大时,无论是使用netstat命令还是直接cat /proc/net/tcp,执行速度都会很慢。

ss快的秘诀在于,它利用到了TCP协议栈中tcp_diag。tcp_diag是一个用于分析统计的模块,可以获得Linux 内核中第一手的信息,这就确保了ss的快捷高效

ss命令是Linux CentOS 7中iproute软件包的一部分,默认已经安装

ss的选项:

-t: tcp协议相关

-u: udp协议相关

-w: 裸套接字相关

-x:unix sock相关

-l: listen状态的连接

-a: 所有

-n: 数字格式

-p: 相关的程序及PID

-e: 扩展的信息

-m:内存用量

-o:计时器信息

netstat与ss的对比

ss:速度快

netstat:速度慢

可以使用time命令来比较

ping

测试网络连通性

格式:

ping [选项] 目标主机

#-c 选项是发送多少个包

# -W 表示等待10秒

-w   如果ping 不通  2秒后返回 不会再ping

nslookup

域名解析 nslookup dns cdn 电商 平台

格式:

nslook 域名

dig 可以显示出更多详细信息

scp

远程同步

ethtool

查看  网卡信息

[root@localhost ~]#ethtool -p ens33 

#让ens33 网卡快速闪烁

tcpump  抓包工具

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  端口范围

输出格式讲解:

第一列:时分毫秒 19:37:31.057918

第二例:网络协议ip

第三列:发送方IP地址+端口号  ip地址:172.16.88.1     端口号:62686     >表示数据流向

第四列:主机名协议    主机名:localhost.localdomain     协议:ssh

第五列: seq号 ack号 win窗口长度   tcp的标志位

过滤规则

基于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  端口号

[root@localhost ~]#tcpdump -i ens33 port 80

多端口

[root@localhost ~]#tcpdump -i ens33 port 80 or port 22

#80 和 22 端口

范围端口

[root@localhost ~]#tcpdump -i ens33 portrange 80-8080

#80 到8080 端口
基于协议

protocal 

协议种类:ip   arp  icmp  tcp   udp

应用层协议不可以直接抓取

常见参数

-i  指定监听网络监听端口

-w   将捕获信息保存到文件中,且不分析核打印在屏幕上

-r 读取上面存储的文件

-n     不把ip转换成域名,直接显示ip

-nn 直接显示ip和端口号

-t  在每行的输出中,不显示时间

-tt 输出一个时间戳

-ttt 每行之间的时间间隔

-tttt 详细日期

-v  产生详细的输出

-c   指定收取数据包的数量

-C 需要与w 配合使用 指定单个文件的大小 百万字节

-Q   过滤数据包的方向   in  out   inout

-q 简洁的输出

-D 显示所有可用的列表

-s 指定数据包的大小

bond多网卡绑定

Bonding聚合链路工作模式

  • mod=0,即:(balance-r) Round-robin poicy(轮询)聚合口数据报文按包轮询从物理接口转发。负载均衡一所有链路处于负载均衡状态,轮询方式往每条链路发送报文这模式的特点增加了带宽,同时支持容错能力,当有链路出问题,会把流量切换到正常的链路上。性能问题一一个连接或者会话的数据包如果从不同的接口发出的话,中途再经过不同的链路,在客户端很有可能会出现数据包无席到达的问题,而无序到以的教据包需要重新要求被发送,这样网络的吞叶量就会下降。Bond0在大压力的网络传输下,性能增长的并不是很理想。需要交换机进行端口绑定。
  • mod=1,即:(active-backup) Active-backup policy(主一备份策略)只有Acive状态的物理接口才转发数据报文,容错能力一只有一个slave是激活的(active)也就是说同一时刻只有一个网卡处于工作状态,其他的slave都处于备份状态,只有在当前激活的slave故障后才有可能会变为激活的(active)。无负载均衡一此算法的优点是可以提供高网络连接的可用性,但是它的资源利用率较低,只有一个接口处于工作状态,在有 N 个网络接口的情况下,资源利用率为1/N。
  • mod=2,即:(balance-xor) XOR policy(平衡策略)聚合口数据报文按源目MAC、源目IP、源目端口进行异或HASH运算得到一个值,根据该值查找接口转发数据报文负载均衡一基于指定的传输HASH笫略传输数据包,容错能力一这模式的特点增加了带宽,同时支持容错能力,当有链路出问题,会把流量切梅到正常的链路上。性能问题一该模式将限定流量,以保证到达特定对端的流量总是从同一个接口上发出。既然目的地是通过MAC地址来决定的,因此该模式在"本地”网络配置下可以工作得很好。如果所有流量是通过单个路由器,由于只有一个网关,源和目标mac都固定了,那么这个算法算出的线路就一直是同一条,那么这种模式就没有多少意义了。需要交换机配置为port channel
  • mod=3,即:broadcast(广播策略)这种模式的特点是一个报文会复制两份往bond下的两个接口分别发送出去,当有对端交换机失效,感觉不到任何downtime,但此法过于浪费资源;不过这种模式有很好的容错机制。此模式适用于金融行业,因为他们需要高可靠性的网络,不允许出现任何问题。
  • mod=4,即:(802.3ad) EEE 802.3ad Dynamic ink aggregation(IEE802.3ad动态链接聚合)在动态聚合模式下,聚合组内的成员端口上均启用LACP(链路汇聚控制协议)协议,其端口状态通过该协议自动进行维护。负载均衡一基于指定的传输HASH策略传输数据包。默认算法与blance-xor一样。容错能力一这模式的特点增加了带宽,同时支持容错能力,当有链路出问题,会把流量切换到正常的链路上。对比blance-xor,这种模式定期发送LACPDU报文维护链路聚合状态,保证链路质量要西衣扬机支持LACD协沙
  • mod=5,即:(balance-t) Adaptive transmit load balancing(适配器传输负载均衡)在每个物理接口上根据当前的负载(根据速度计算)分配外出流量。如果正在接收数据的物理接口口出故障了,另一个物理接口接管该故障物理口的MAC地址。需要ethtool支持获取每个slave的速率
  • mod=6,即:(balance-alb)Adaptiveload balancing(适配器适应性负载均衡)该模式包含了balance-tb模式,同时加上针对1PV4流量的接收负载均衡,而且不需要任何switch(交换机)的支持。接收负载均衡是通过ARP协商实现的。bonding驱动截获本机发送的ARP应答,并把源硬件地址改写为bond中某个物理接口的唯-硬件地址,从而使得不同的对端使用不同的硬件地址进行通信。mod=6与mod=0的区别:mod=6,先把eth0流量占满,再占eth1,.ethX;而mod=0的话,会发现2个口的流量都很稳定,基本一样的带宽。而mod=6,会发现第一个口流量很高,第2个口只占了小部分流量

常用的模式为0,1,3,6

mode 1、5、6不需要交换机设置

mode 0、2、3、4需要交换机配置

active-backup、balance-t1b 和 balance-a1b 模式不需要交换机的任何特殊配置。其他绑定模式需要配置交换机以便整合链接。如:Cisco交换机需要在模式0、2和3中使用Etherchanne1,但在模式4中需要 LACP和 Etherchanne]

实际操作创建

bonding设备的配置文件

[root@localhost:~# ]cd /etc/sysconfig/network-scripts/

[root@localhost:/etc/sysconfig/network-scripts# ]vim ifcfg-bond0

miimon指定链路监测时间间隔。如果miimon=100,那么系统每100ms 监测一次链路连接状态,如果有一条线路不通就转入另一条线路

fail_over_mac=1"   永远使用活着的 网卡的mac地址

[root@localhost:/etc/sysconfig/network-scripts# ]vim ifcfg-ens33

[root@localhost:/etc/sysconfig/network-scripts# ]vim ifcfg-ens36

查看bond0状态:

删除bond0

ifconfig bond0 down

rmmod bonding

用nmcli实现bonding

添加bonding接口

添加从属接口

注:如无为从属接口提供连接名,则该名称是接口名称加类型构成

要启动绑定,则必须首先启动从属接口

启动绑定

时间同步

[root@localhost ~]#date -s '1 year'

2023年 12月 14日 星期四 12:02:02 CST

[root@localhost ~]#ntpdate ntp.aliyun.com

#   阿里云ntp同步

DHCP服务

DHCP的分配方式

  • 自动分配:分配到一个IP地址后永久使用
  • 手动分配:由DHCP服务器管理员专门指定IP地址
  • 动态分配:使用完后释放该IP,供其它客户机使用

查看dhcp的配置文件

dhcp实验

设置DHCP

以两台linux设备做演示,设备1为DHCP服务器,设备2为客户端

因为如果没有例子的话是无法写出dhcp的配置文件的所以直接把例子复制到dhcpd.conf下进行改动就行了

修改配置文件

第8行 修改默认的全局dns地址

直接修改32-34 行

重新启用dhcp服务,并查看dhcp服务是否有保存

验证结果

先调整虚拟的网络编辑器

修改设备2网卡ens33配置文件

将静态改成dhcp获取

#号是注释,可以让其命令无法运用

最后ip a查看

虚拟机的ip 172.16.88.4变成172.16.88.20

dhcp固定IP地址实验

以两台linux设备做演示,设备1为DHCP服务器,设备2为固定IP的客户端

注意:该实验是以设置好DHCP为前提

1.查看设备2mak地址并复制

ifconfig 查看

修改设备1dhcp的配置文件

vim /etc/dhcp/dhcp.cof

重启dhcp服务

回到设备2重启网卡并重新查看ens33网卡

systemctl  restart  network

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值