linux 网络基础配置

白开水~不加糖 2024-07-09 12:07:03 阅读 64

目录

一、查看linux基础的网络设置

 ifconfig命令———查看网络接口信息

1.网卡信息介绍    

1.  ifconfig 网卡名称——显示具体网卡的详细信息​编辑

2.ifconfig 显示活动(开启)的网卡

3.   ifconfig  -a ——显示所有网卡包括没有启动的网卡​编辑

4.  ifconfig 网络接口 IP地址[/子网掩码长度]——临时设置网卡地址

2.网卡名称修改

 1.  临时修改网卡名称

2.永久修改网卡名称,写入文件

3.网卡修改配置 

1.单个网卡修改

2.双网卡配置

3.网卡绑定bond (参考文章标题六哈)

二、hostname  查看或设置当前主机名  

1.临时修改主机名​编辑

2.永久修改主机名

方法1:修改配置文件

方法2:

三、配置路由   

route    查看或设置主机中路由表信息

1.临时添加路由:

2.删除路由:

3.添加永久路由

4.traceroute   路由追踪

四、检查网络环境,检查网络连接状态

1.  ss、netstat   这两条命令都是用于查看网络环境情况

2. ping  测试网络连通性   ICMP 协议

五、nslookup域名解析 

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

六、多网卡绑定 bond

多网卡绑定

方法一:

方法二:

七、tcpdump

1.  tcpdump -D   查看网卡​

2.   tcpdump -i ens33 指定查看ens33 网卡 ​

  3.tcpdump不指定任何参数,监听第一块网卡上经过的数据包。


将Linux主机接入到网络,需要配置网络相关设置一般包括如下内容:

主机名

iP/netmask (ip地址,网关)

路由:默认网关

网络连接状态

DNS服务器 (主DNS服务器     次DNS服务器       第三个DNS服务器)

一、查看linux基础的网络设置

网关 route   -n 
IP地址 ifconfig     或     ip  a
DNS服务器 cat   /etc/resolv.conf
主机名 hostname
路由 route   -n
网络连接状态 ss 或   netstat
域名解析 nslookup     host

 ifconfig命令———查看网络接口信息

1.网卡信息介绍    

新加网卡

1.  ifconfig 网卡名称——显示具体网卡的详细信息

网卡名称详解:

eth0

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

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

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

2.ifconfig 显示活动(开启)的网卡

3.   ifconfig  -a ——显示所有网卡包括没有启动的网卡

4.  ifconfig 网络接口 IP地址[/子网掩码长度]——临时设置网卡地址

5.  ifconfig 网卡名称 :数字  地址/子网掩码——新建虚拟网卡

2.网卡名称修改

 1.  临时修改网卡名称

<code>ip link set ens36 down =ifconfig ens36 down

#先将网卡down掉

ip link set ens36 name abc

#然后改名

ip link set abc up

#最后再启动网卡

2.永久修改网卡名称,写入文件

centos6之前的命名方式都是以网络接口使用连续号码命名:如eth0、eth1等,当增加或者删除网卡时,名称可能会发生变化

3.网卡修改配置 

1.单个网卡修改

2.双网卡配置

首先添加一块网卡

3.网卡绑定bond (参考文章标题六哈)

二、hostname  查看或设置当前主机名  

1.临时修改主机名

2.永久修改主机名

方法1:修改配置文件

方法2:

三、配置路由   

route    查看或设置主机中路由表信息

添加 指定网段的路由记录route add -net  网段地址 gw IP地址

删除指定网段的路由记录route del -net 网段地址

向路由表中添加默认网关记录route add default gw IP地址

删除路由表中默认的网关记录route del default gw  IP地址

1.临时添加路由:

添加一条去往10.0.0.0/8段的路由,通过192.168.246.2转发

2.添加一条默认路由,通过192.168.246.2转发

2.删除路由:

3.添加永久路由

4.traceroute   路由追踪

使用traceroute命令,可以显示数据包从本地主机到目标主机经过的路由路径。

用于测试当前主机到目的主机之间经过的网络节点,基本格式:tracerout     ip地址或域名

四、检查网络环境,检查网络连接状态

1.  ss、netstat   这两条命令都是用于查看网络环境情况

ss:更靠近内核

ss -natp n :数字 a:详细 t:tcp u:udp p:进程

netstat:靠近用户,它要去遍历 文件查看状态

ss 的优势在于它能够显示更多更详细的有关 TCP 和UDP连接状态的信息,而且比 netstat 更快速更高效,ss快的秘诀在于,它利用到了TCP协议栈中tcp_diag。tcp_diag是一个用于分析统计的模块,可以获得Linux 内核中第一手的信息,这就确保了ss的快捷高效 ss命令是Linux CentOS 7中iproute软件包的一部分,默认已经安装。

2. ping  测试网络连通性   ICMP 协议

格式: ping [选项] 目标主机

五、nslookup域名解析 

nslookup是一个命令行工具,用于查询DNS(域名系统)服务器以获取关于主机名或IP地址的信息。它主要用于诊断网络问题、验证DNS记录的正确性以及了解域名解析的过程。

格式:nslook 域名

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

六、多网卡绑定 bond

bond(绑定)是指将两个或多个物理网卡虚拟化为一个逻辑接口的过程,以实现冗余、负载均衡或增加带宽。这种技术通常被称为“网络接口绑定”或“链路聚合

将多块网卡绑定同一IP地址对外提供服务,可以实现高可用或者负载均衡。直接给两块网卡设置同一IP地址是不可以的。通过 bonding,虚拟一块网卡对外提供连接,物理网卡的被修改为相同的MAC地址

多网卡绑定

方法一:

<code>nmcli实现bonding

#创建新连接static ,指定静态IP,不自动连接

nmcti con add con-name static   ifname eth0 autoconnect no type Ethernet

ipv4.addresses 172.25.X.10/24 ipv4.gateway   172.25.X.254

nmcli connection modify ens33 ipv4.addresses 192.168.91.100/2

nmcli connection up ens33

#添加bonding接口

nmcli con add type bond con-name mybond0 ifname bond0 mode active-backup ipv4.method manual ipv4.addresses 192.168.91.123/24

#添加从属接口

nmcli con add type bond-slave ifname ens33 master bond0

nmcli con add type bond-slave ifname ens36 master bond0

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

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

nmcli con up bond-slave-ens33

nmcli con up bond-slave-ens36

#启动绑定

nmcli con up mybond0

方法二:

<code>创建bonding设备的配置文件

/etc/sysconfig/network-scripts/ifcfg-bond0

NAME=bond0

TYPE=bond

DEVICE=bond0

BOOTPROTO=none

IPADDR=10.0.0.100

PREFIX=8

BONDING_OPTS="mode=1 miimon=100 fail_over_mac=1"code>

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

/etc/sysconfig/network-scripts/ifcfg-ens33

NAME=eth0

DEVICE=eth0

BOOTPROTO=none

MASTER=bond0

SLAVE=yes

ONBOOT=yes

/etc/sysconfig/network-scripts/ifcfg-ens36

NAME=eth1

DEVICE=eth1

BOOTPROTO=none

MASTER=bond0

SLAVE=yes

ONBOOT=yes

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

vim ifcfg-bond0

NAME=bond0

TYPE=bond

DEVICE=bond0

BOOTPROTO=none

IPADDR=192.168.91.22

NETMASK=255.255.255.0

GATEWAY=192.168.91.2

BONDING_OPTS="mode=1 miimon=100 fail_over_mac=1"code>

vim ifcfg-ens33

BOOTPROTO=static

NAME=ens33

DEVICE=ens33

ONBOOT=yes

MASTER=bond0

SLAVE=yes

vim ifcfg-ens36

NAME=ens36

DEVICE=bond0

BOOTPROTO=none

MASTER=bond0

SLAVE=yes

PNBOOT=yes

[root@localhost network-scripts]#cat /proc/net/bonding/bond0

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:fe:e5:bf

Slave queue ID: 0

查看bond0状态: cat /proc/net/bonding/bond0

删除bond0

ifconfig bond0 down

rmmod bonding

用第二台虚拟机192.168.246.8 ping下bond0地址

为了方便看我们可以再连接起来,要不就去虚拟机里操作,正常xhell应该连不上哦

查看bind0状态

断开ens33网卡,记得重启下网卡服务 systemctl restart network

(也可以打命令ifconfig ens33 down),用第二台虚拟机192.168.246.8去ping 

七、tcpdump

网络数据包截获分析工具。支持针对网络层、协议、主机、网络或端口的过滤。并提供and、or、not等逻辑语句帮助去除无用的信息。 tcpdump命令, 是一个强大的网络协议分析器,它主要用于监控和捕获网络流量数据包,并能够以易于阅读的格式显示这些信息。

1.  tcpdump -D   查看网卡

2.   tcpdump -i ens33 指定查看ens33 网卡 

  3.tcpdump不指定任何参数,监听第一块网卡上经过的数据包。

主机上可能有不止一块网卡,所以经常需要指定网卡。

tcpdump src host hostname

#特定来源

tcpdump dst host hostname

#特定目标地址

tcpdump host hostname

#如果不指定src跟dst,那么来源或者目标是hostname的通信都会被监听

 

面试题:

 tcpdump   -nn   -i  ens33  icmp  and  src  host  192.168.246.7   and  dst  host  192.168.246.8

抓192.168.246.7发给192.168.246.8的  icmp  包   条件之间要加  and

<code>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<数据包文件> 把数据包数据写入指定的文件。



声明

本文内容仅代表作者观点,或转载于其他网站,本站不以此文作为商业用途
如有涉及侵权,请联系本站进行删除
转载本站原创文章,请注明来源及作者。