【Linux网络】Linux网络设置

如果你不会网络设置,就好比自己的拖鞋被硬控了,导致自己无法下床

目录

一、网络配置

1.1 主要配置网络的配置项

1.2 ifconfig——查看网卡配置

1.3 route——路由

1.4 hostname——主机名

1.5 ss——查看网络链接状态

1.6 scp——远程拷贝

1.7 tcpdump——抓包工具(重中之重,大特特特)

1.8 bond——多网卡绑定 


一、网络配置

1.1 主要配置网络的配置项

  1. 主机名        (必须)
  2. 网卡:IP/netmask (必须)
  3. 路由:默认网关(必须)
  4. DNS服务器(必须)  主DNS服务器 次DNS服务器 第三个DNS服务器
文件类型 文件位置 文件作用
主机名 /etc/hostname 第一行 永久修改主机名
网卡 /etc/sysconfig/network-scripts/ifcfg-* 修改ip地址、dns、网关、获取方式等;多网卡bond
DNS /etc/resolv.conf 记录dns服务器地址,若为空则无法解析域名

路由

/etc/sysconfig/network-scripts/route-* 永久配置静态路由

1.2 ifconfig——查看网卡配置

ifconfig	#显示所有开启的网卡配置
ifconfig -a	#显示所有网卡,包括为开启的网卡

ifconfig	网卡名	down	#关闭网卡
ip link set 网卡名	down #关闭网卡
ifconfig	网卡名	up	#开启网卡

临时修改网卡IP
ifconfig	网卡名	修改后的IP/掩码

ifconfig	网卡名:0	 IP/掩码	#设置临时虚拟网卡
ifconfig	网卡名 0		#取消网卡设置

以上介绍了临时修改网卡的方式,下面如何介绍永久修改网卡:

cd /etc/sysconfig/network-scripts/
cp ifcfg-ens33 ifcfg-ens36
vim /etc/sysconfig/network-scripts/ifcfg-ens36

#地址获取方式 动态dhcp	静态static、none
BOOTPROTO=dhcp -> static
#描述
NAME=ens36
#必须和ifconfig命令中的网卡名一致
DEVICE=ens36
#开机是否启动
ONBOOT=yes
#IP地址
IPADDR=
#子网掩码	NETMASK=255.255.255.0	或 PREFIX=24
NETMASK=
#网关
GATEWAY=
#DNS
DNS1=
DNS2=

1.3 route——路由

route -n 除了可以查看路由表以外,还可以用于查看网关

route -n	#查看路由表

route del default	#删除默认路由	一般不用 了解即可
route add default	gw  网关	#添加默认路由	一般不用 了解即可

临时添加路由
route add -net 网段 gw 网关 #临时添加静态路由,用于连其他的网段
route add -net 10.0.0.0/8 gw 192.168.91.1
route del -net 网段					#删除静态路由
route del -net 10.0.0.0/8

Centos7永久添加路由
方法一:
vim /etc/sysconfig/network-scripts/route-ens33
网段	via	 网关
:wq
systemctl restart network

方法二:
vim /etc/sysconfig/static-routes
any net 网段	gw	网关
:wq
systemctl restart network

1.4 hostname——主机名

hostname	#查看主机名

hostname 主机名	#临时修改主机名

#永久修改主机名
方法一:
vim /etc/hostname
	填写主机名到第一行
	:wq
reboot

方法二:
hostnamectl set-hostname 名字	#永久修改主机名 **考试**
su

1.5 ss——查看网络链接状态

ss		#查看网络链接状态	共11种
netstat		#查看网络链接状态,老版本,建议使用ss

ss选项:
-n	数字格式
-a	显示所有状态
-t	只显示TCP
-p	显示进程号
常用:ss -natp

ss和netstat区别:
ss速度快,netstat速度慢,netstat遍历所有进程;

1.6 scp——远程拷贝

通式:

1.拷贝到远端:
scp  指定拷贝文件的路径   远端IP:指定存放位置


2.从远端拷贝:
scp    远端IP:拷贝文件的路径      指定本地存放位置

!!注意!!
远端IP一定要与本地主机IP处于同一网段,否则都无法连通和谈传输

1.7 tcpdump——抓包工具(重中之重,大特特特)

命令通式:

tcpdump	 选项		proto		 dir		    type
					协议	 数据的方向  抓取的包类型


proto(协议):
1. tcp  udp   icmp
2. ip   ipv6
3. arp


dir(方向):
1. src    ip地址    #只抓源地址为自定义ip的包
2. dst    ip地址    #只抓目的地址为自定义ip的包
3. src ip地址 and   dst ip地址    ##抓src 到 dst之间的包

type(类型)

1. host  主机   
2. net  网段
3. port  端口     
4. port range  端口范围

tcpdump的常见选项:

-i         指定网卡接口

-w       将数据包另存为指定文件

-r        读取存储的数据包文件

-n        域名以及主机名数字化,直接显示IP

-nn      直接显示IP以及端口号

-s        指定数据包的大小

输出格式解析:

 tcpdump -i ens33

19:29:51.573802                       表示时分毫秒

IP                                               表示协议 网络协议IP

b0rNth1sWa7-.ssh                    表示主机名、协议        主机名b0rNth1sWa7-        协议:ssh

> 192.160.254.1.50455             表示发送方IP+端口号        >表示数据流向

seq号、ack号、win就是告诉对方自己能接受多大的数据、length表示捕获的数据包的字节数

实例演示

                   前提说明:使用2主机 192.168.254.20  ping  1主机192.168.254.10

tcpdump -i ens33   host  192.168.254.10


tcpdump  -i ens33   dst  192.168.254.20


tcpdump  -i ens33   src  192.168.254.10


tcpdump  -i ens33  src  net 192.168.254.20/24        接收源IP来自该网段的数据包

tcpdump  -i ens33  dst  net 192.168.254.20/24        接收目的IP属于该网段的数据包


tcpdump -i ens33  src port 80 or port 22        接收源端口来自80或22的数据包

tcpdump -i ens33  dst port 80 or port 22        接收目的端口来自80或22的数据包

tcpdump -i ens33  src portrange 80-8080        接收源端口来自80到8080的数据包

tcpdump -i ens33  dst portrange 80-8080        接收目的端口来自80到8080的数据包


tcpdump -i ens33 icmp


tcpdump -i ens33 -c 10 -nn -w /mnt/test.cap icmp     

将协议为icmp的10个数据包转存到/mnt下并且起名为test.cap

tcpdump -r /mnt/test.cap

用于查看转存的数据包文件


tcpdump -i ens33 -nn icmp and  src host 10.0.0.6 and dst host  10.0.0.7

接收网卡为ens33 协议为icmp 并且源IP地址为10.0.0.6并且目的IP为10.0.0.7的数据包

1.8 bond——多网卡绑定 

bonding工作模式:

一共分为mod0 ~ mod6

常见的工作模式:

  • mod=0 ,即:(balance-rr) Round-robin policy(轮询)聚合口数据报文按包轮询从物理接口转发。负载均衡—所有链路处于负载均衡状态,轮询方式往每条链路发送报文这模式的特点增加了带宽,同时支持容错能力,当有链路出问题,会把流量切换到正常的链路上。性能问题—一个连接或者会话的数据包如果从不同的接口发出的话,中途再经过不同的链路,在客户端很有可能会出现数据包无序到达的问题,而无序到达的数据包需要重新要求被发送,这样网络的吞吐量就会下降。Bond0在大压力的网络传输下,性能增长的并不是很理想。需要交换机进行端口绑定。

  • mod=1,即: (active-backup) Active-backup policy(主-备份策略)只有Active状态的物理接口才转发数据报文。容错能力—只有一个slave是激活的(active)。也就是说同一时刻只有一个网卡处于工作状态,其他的slave都处于备份状态,只有在当前激活的slave故障后才有可能会变为激活的(active)。无负载均衡—此算法的优点是可以提供高网络连接的可用性,但是它的资源利用率较低,只有一个接口处于工作状态,在有 N 个网络接口的情况下,资源利用率为1/N。

实际操作

配置bond

cd /etc/sysconfig/network-scripts

vim ifcfg-bond0

NAME=bond0
TYPE=bond
DEVICE=bond0
BOOTPROTO=none
IPADDR=192.168.254.22
NETMASK=255.255.255.0 或 PREFIX=24
GATEWAY=192.168.254.2
BONDING_OPTS="mode=1 miimon=100 fail_over_mac=1"
#mode=1  表示选择主备策略模式
#miimon指定链路监测时间间隔。如果miimon=100,那么系统每100ms 监测一次链路连接状态,如果有一条线路不通就转入另一条线路
#fail_over_mac=1"   永远使用活着的 网卡的mac地址

:wq

配置网卡1

vim ifcfg-ens33
BOOTPROTO=static
NAME=ens33
DEVICE=ens33
ONBOOT=yes
MASTER=bond0
SLAVE=yes

配置网卡2

vim ifcfg-ens36
NAME=ens36
DEVICE=ens36
BOOTPROTO=none
MASTER=bond0
SLAVE=yes
ONBOOT=yes

查看bond0状态:

cat  /proc/net/bonding/bond0

删除bond0:

ifconfig bond0 down

rmmod bonding

删除/etc/sysconfig/network-scripts/ifcfg-bond0中的配置

相关推荐

  1. Linux网络设置

    2024-04-25 00:14:04       13 阅读
  2. Linux 高级网络设置

    2024-04-25 00:14:04       12 阅读

最近更新

  1. TCP协议是安全的吗?

    2024-04-25 00:14:04       18 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-04-25 00:14:04       19 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-04-25 00:14:04       18 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-04-25 00:14:04       20 阅读

热门阅读

  1. C++中输入输出速度的优化

    2024-04-25 00:14:04       12 阅读
  2. Chisel3 入门 (1)

    2024-04-25 00:14:04       10 阅读
  3. int和byte数组相互转换详解

    2024-04-25 00:14:04       14 阅读
  4. 测试开发-celery框架详解

    2024-04-25 00:14:04       13 阅读
  5. n-gram模型

    2024-04-25 00:14:04       11 阅读
  6. Unity用非常简单的例子解释抽象

    2024-04-25 00:14:04       14 阅读
  7. 如何在 C# 中选择使用抽象类或接口?

    2024-04-25 00:14:04       13 阅读
  8. 【Python】如何在Ubuntu上设置Python脚本开机自启

    2024-04-25 00:14:04       13 阅读
  9. 深入理解汇编:平栈、CALL和RET指令详解

    2024-04-25 00:14:04       12 阅读