linux 网络基础配置

avatar
作者
猴君
阅读量:0

目录

一、查看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.  临时修改网卡名称

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 gwIP地址

删除路由表中默认的网关记录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地址

多网卡绑定

方法一:

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

方法二:

创建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" #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"   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

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

    广告一刻

    为您即时展示最新活动产品广告消息,让您随时掌握产品活动新动态!