Linux的网络设置
一、查看网络接口-ifconfig
1、查看所有活动的网络接口信息
直接ifconfig
2、查看网络接口信息
ifconfig [网络接口]
补充—MTU
MTU (最大传输单元)是网络设备传输的信息包最大值
对于各种路由器,最佳的MTU值通常都是默认值。有时,更改MTU值可提高设备工作性能,做起来很简单,但事实上,这样做往往会导致出现其他问题。最好保持MTU不变,除非有以下情况出现:
-
当连接不到ISP或者不能使用其他的因特网服务时,且他们的技术支持人员建议更改MTU值
-
当您使用 VPN,遇到性能问题时可以考虑更改MTU
为了提高网络的某些性能,使用了可优化MTU 值的应用程序,而这引起了连通性和其他性能方面的问题
不恰当的本地MTU值
• 本地MTU值>网络MTU值 :拆包,效率下降
• 本地MTU值<网络MTU值:未发挥最大传输能力
理想的本地MTU值
- 本地MTU值=网络MTU值
二、查看主机名称-hostname
1、查看或临时修改当前主机名
hostname [主机名]
2、永久设置主机名
hostnamectl set-hostname [主机名] vim /etc/host #设置完成后重启才有效
三、查看路由表条目-route
1、查看或设置主机中路由表信息
route -n
2、更改路由记录
添加到指定网段的路有记录 route add -net 网段地址gw ip地址 删除到指定网段的路有记录 routedel -net 网段地址 向路由表中添加默认网关记录 route add default gw ip地址 删除路由表中默认的网管记录 route del default gw ip地址
四、查看连接网络情况-netstat
1、查看系统的网络连接状态、路由表、接口统计等信息
netstat [选项] netstat -natp | grep httpd #httpd也可以换成80,表示查看httpd的网络状态
选项 | 作用 |
-a | 显示当前主机中所有活动的网络连接信息 |
-n | 以数字的形式显示相关的主机地址、端口等信息 |
-r | 显示路由表信息 |
-l | 显示处于监听状态的网络连接及端口信息 |
-t | 查看TCP协议相关的信息 |
-u | 显示UDP协议相关的信息 |
-p | 显示与网络连接相关联的进程号、进程名称信息(需要root权限) |
五.获取socket(套接字)统计信息——ss
1、查看系统的网络连接情况,获取socket统计信息
ss [选项]
#查看系统的网络连接情况,获取socket统计信息 lost [选项]
#查看打开服务进程的端口(TCP、UDP)
2、常用选项
选项 | 作用 |
---|---|
-t | tcp 显示 TCP 协议的 sockets |
-u | udp 显示 UDP 协议的 sockets |
-n | numeric 不解析服务的名称,如 “22” 端口不会显示成 “ssh” |
-l | listening 只显示处于监听状态的端口 |
-p | processes 显示监听端口的进程(Ubuntu 上需要 sudo) |
-a | all 对 TCP 协议来说,既包含监听的端口,也包含建立的连接 |
-r | resolve 把 IP 解释为域名,把端口号解释为协议名称 |
六、测试网络连接ping
ping命令
测试网络连通性
ping [选项] 目标主机
注: ctrl + c中止测试
-i 查看网卡是否畅通
-s 指定包的大小
七.跟踪数据包traceroute
traceroute命令
traceroute 目标主机地址
测试从当前主机到目的主机之间经过的网络节点
八.域名解析nslookup
nslookup命令
测试DNS域名解析
nslookup 目标主机地址 [DNS服务器地址]
九、设置网络参数的方式
1、 临时配置一使用命令调整网络参数
- 简单、快速,可直接修改运行中的网络参数
- 一般只适合在调试网络的过程中使用
- 系统重启以后,所做的修改将会失效
2、 固定设置一通过配置文件修改网络参数
- 修改各项网络参数的配置文件
- 适合对服务器设置固定参数时使用
- 需要重载网络服务或者重启以后才会生效
设置网络接口的ip地址、子网掩码 ifconfig 网络接口 ip地址 [netmask 子网掩码] ifconfig 网络接口 ip地址 [/子网掩码长度] 禁用或者重新激活网卡 ifconfig ens33 up ifup ens33 ifconfig ens33 down ifdown ens33 设置虚拟网络接口 ifconfig ens33:0 192.168.41.100/24
十、启用、禁用网络接口配置
重启network网络接口
systemctl restart network
禁用、启用网络接口
ifdown ens33 #禁用
ifup ens33 #启动
十一、本地主机映射文件
/etc/hosts文件
保存主机名与ip地址的映射记录
cat /etc/hosts
hosts文件和DNS服务器的比较
- 默认情况下,系统首先从hosts文件查找解析记录
- hosts文件只对当前的主机有效
- hosts文件可减少DNS查询过程,从而加快访问速度
十二、实验操作
1、多网卡绑定
1.1配置文件
1.2 命令
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
2、双网卡
十三、实用工具
1.tcpdump
主要参数 暂且只用-i 和-n
-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<数据包文件> 把数据包数据写入指定的文件。