Linux之网络设置

1 网络配置命令

1.1 查看网络接口信息—ifconfig

1.1.1 查看所有活动的网络接口信息

[root@fyr ~]# ifconfig
ens33: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
          该接口已启用,支持广播、正在运行支持组播       最大传输单元1500字节
        inet 192.168.16.16  netmask 255.255.255.0  broadcast 192.168.16.255
        inet6 fe80::a0c3:5afe:ca7e:625b  prefixlen 64  scopeid 0x20<link>
        IPV6地址                            子网长度     作用域1ink表示仅该接口有效
        ether 00:0c:29:00:4e:db  txqueuelen 1000  (Ethernet)
            mac地址          传输队列长度(传输缓存大小) 接口类型
        RX packets 939230  bytes 1393061842 (1.2 GiB)
        接收    报文个数        总和字节数
        RX errors 0  dropped 0  overruns 0  frame 0
        接收 错误个数   丢弃个数     溢出个数    冲突帧数
        TX packets 282684  bytes 17238204 (16.4 MiB)
        发送  报文个数             总字节数
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0
             错误       丢失       溢出        载荷数       冲突数

在这里插入图片描述
扩展
mtu:代表最大传输单元,它的单位是字节。在我们常用的以太网中,MTU 一般是1500,而无线路由器默认一般是 1492。

  • 本地MTU值 > 网络MTU值 → 拆包,效率下降
  • 本地MTU值 < 网络MTU值 → 未发挥最大传输能力
  • 本地MTU值 < 网络MTU值 → 理想的本地MTU值

1.1.2 查看指定网络接口信息

[root@fyr ~]# ifconfig 具体网卡名称   //只显示具体网卡的详细信息(无论该网卡是否启用)
[root@fyr ~]# ifconfig -a   //表示显示所有网卡包括没有启用的网卡

在这里插入图片描述

1.2 查看或设置当前主机名—hostname

[root@fyr ~]# hostname [主机名]
方法一:
[root@fyr ~]# hostnamect1 set-hostname kgc 改完需bash启用新的she11会话或者重新打开终端

方法二:
通过修改/etc/hostname来更改的主机名,如果要让其生效,需重启Linux系统。

在这里插入图片描述
在这里插入图片描述

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

[root@fyr ~]# route [root@fyr ~]# route -n 
#查看路由,使用-n可以将路由记录中的地址显示为数字形式,这可以跳过解析上机名的过程,在路由表条目较多的情况下能够加快执行速度

在这里插入图片描述

1.4 查看网络连接情况—netstat

查看系统的网络连接状态、路由表、接口统计等信息

格式:[root@fyr ~]# netstat 选项

服务不能用,ftp httpd 网页无法访问

  • 一般先 ping 看能不能通,如果你网络不通,网络调通 防火墙 抓包
  • 看看你的服务是否开启,syetemctl status 服务名
  • ss netstat 看看你的服务端口是否被占用
  • 最后看你服务的配置文件是否正确
-a显示主机中所有活动的网络连接信息(包括监听、非监听状态的服务端口)
-n以数字的形式显示相关的主机地址、端口等信息
-r显示路由表信息
-l显示处于监听(Listening)状态的网络连接及端口信息
-t查看TCP(Transmission control Protocol.传输控制协议)相关的信息
-u显示 UDP(User Datagram Protocol.用户数据报协议)协议相关的信息
-p显示与网络连接相关联的进程号、进程名称信息(该选项需要root权限)

用法

  • 通常使用 “-napt” 组合选项,以数字形式显示当前系统中所有的 TCP 连接信息,同时显示对应的进程信息
  • 配合管道符 grep 过滤出特定的记录
[root@fyr ~]# netstat -natp | grep sshd   //httpd也可以换成22  表示查看sshd的网络状态

在这里插入图片描述

[root@fyr ~]# netstat -lntp | grep sshd

在这里插入图片描述

1.5 获取socket统计信息—ss(socket statistics)

  • ss命令:也可以查看网络连接情况,主要用于获取 socket 统计信息,它可以显示和 netstat 命令类似的输出内容。
  • 但ss的优势在于它能够显示更多更详细的有关 TCP 和连接状态的信息,而且比 netstat 更快速更高效。要想使用 ss 命令是Linux
  • CentOs7 中 iproute 软件包的一部分,默认已经安装,如果没安装,可以通过yum安装
[root@fyr ~]# ss [选项]

注意:当服务器的 socket 连接数量变得非常大时,无论是使用 netstat 命令还是直接 cat/proc/net/tcp,执行速度都会很慢。
ss 快的秘诀在于,它利用到了 TCP 协议权中 tcp_diag,tcp_diag 是一个用于分析统计的模块,可以获得Linux内核中第一手的信息,这就确保了 ss 的快捷高效。

举例一:显示所有已建立的 SMTP 连接

[root@fyr ~]# time ss
[root@fyr ~]# time netstat -an

在这里插入图片描述
在这里插入图片描述
举例二:查看并发连接数 ss 和 netstat 对比

[root@fyr ~]# time netstat -ant | grep EST | wc -l
[root@fyr ~]# time ss -o state established | wc -l

在这里插入图片描述
为什么 ss 比 netstat 快:
netstat 是遍历 /proc下面每个 PID 目录,ss 直接读 /proc/net 下面的统计信息。所以 ss 执行的时候消耗资源以及消耗的时间都比 netstat 少很多

常用选项

-ttcp 显示 TCP 协议的 sockets
-uudp 显示 UDP 协议的 sockets
-nnumeric 不解析服务的名称,如 “22” 端口不会显示成 “ssh”
-llistening 只显示处于监听状态的端口 (显示本地打开的所有端口)
-pprocesses 显示监听端口的进程
-a显示所有all 对TCP协议来说,既包含监听的端口,也包含建立的连接
-rresolve 把 IP 解释为域名,把端口号解释为协议名称
-hhelp 通过该选项获取更多的使用帮助
-vversion 显示软件的版本号
-s列出当前socket详细信息
举例一
[root@fyr ~]# ss -s
[root@fyr ~]# ss -l

在这里插入图片描述
举例二:ss 列出其监听的端口以及对应进程
在这里插入图片描述
举例三:ss 列所有的 tcp socketsss、udp sockets
在这里插入图片描述

1.6 测试网络连通性—ping

使用 ping 命令可以向目标主机持续地发送测试数据包,并显示反馈结果,直到按 ctrl+c 组合键后中止测试,并显示最终统计结果

[root@fyr ~]# ping [选项] 目标主机

案例一
在这里插入图片描述
案例二
在这里插入图片描述

1.7 跟踪数据包的路由途径—traceroute

测试从当前主机到目的主机之间经过的网络节点

[root@fyr ~]# traceroute 目标主机地址

在这里插入图片描述

1.8 测试域名解析—nslookup

[root@fyr ~]# nslookup 目标主机地址 [DNS服务器地址]
或者
dig 可以显示出更多详细信息
dig是一个在类Unix命令行模式下查询DNS包括NS记录,A记录,MX记录等相关信息的工具

在这里插入图片描述
在这里插入图片描述

2 设置网络参数的方式

2.1 临时配置—使用命令调整网络参数

  • 简单、快速,可直接修改运行中的网络参数
  • 一般只适合在调试网络的过程中使用
  • 系统重启以后,所做的修改将会失效

2.2 永久配置—通过配置文件修改网络参数

  • 修改各项网络参数的配置文件
  • 适合对服务器设置固定参数时使用
  • 需要重载网络服务或者重启以后才会生效

2.3 网络接口配置文件

2.3.1 修改网卡

[root@fyr ~]# vim /etc/sysconfig/network-scripts/ifcfg-ens33

在这里插入图片描述

2.3.2 配置双网卡

第一步:添加网络适配器
在虚拟机中点击设置,选择网络适配器点击添加,在向导中点击网络适配器,点击完成后点击确定
在这里插入图片描述
添加成功 会多一个网络适配器
在这里插入图片描述
第二步:查看网卡

[root@fyr ~]# ifconfig
[root@fyr ~]# ip a  查看网络接口号,我这里查到的是ens37

在这里插入图片描述
第三步:添加新加网卡的配置文件并编辑,编辑结束后wq保存

[root@fyr ~]# cd /etc/sysconfig/network-scripts/
[root@fyr network-scripts]# ls
[root@fyr network-scripts]# cp ifcfg-ens33 ./ifcfg-ens37
[root@fyr network-scripts]# vim ifcfg-ens37

在这里插入图片描述
第四步:重启服务

[root@fyr network-scripts]# systemctl restart network
[root@fyr network-scripts]# ifconfig ens37

在这里插入图片描述
第五步:测试
使用另一台主机ping一下这个新增网卡地址 可以ping通则配置成功

[root@fyr ~]# ping 192.168.16.20

在这里插入图片描述

2.3.1 启用、禁用网络接口配置

重启 network 网络服务
[root@localhost network-scripts]# systemctl restart network

禁用、启用网络接口
[root@localhost network-scripts]# ifdown ens37
[root@localhost network-scripts]# ifup ens37

在这里插入图片描述

2.4 设置网络接口参数—ifconfig

2.4.1 禁用或者重新激活网卡

表示开启或关闭网卡
[root@fyr ~]# ifconfig 网络接口 up   激活
[root@fyr ~]# ifconfig 网络接口 down  禁用

在这里插入图片描述

2.4.2 设置网络接口的IP地址、子网掩码

方法一:
[root@fyr ~]# ifconfig 网络接口 ip地址 [netmask  子网掩码]
方法二:
[root@fyr ~]# ifconfig 网络接口 ip地址 [/子网掩码长度]

在这里插入图片描述

2.4.3 设置虚拟网络接口

[root@fyr ~]# ifconfig 网络接口:序号 IP地址
[root@fyr ~]# ifconfig ens33:0 地址  //表示虚拟网卡(绑定接口)
    ifconfig 查看,或者使用ip a
    
"en""EtherNet"的缩写,表示网卡类型为以太网,
s”表示热插拔插槽上的设备(hot-plug Slot),
数字“33”表示插槽编号

在这里插入图片描述

2.5 设置路由记录—route

当目标网段 “default” 时,表示此行是默认网关记录:
当下一跳为 “gateway” 时,表示目标网段是与本机直接相连的。
但是,直接执行 “route” 命令法直接看出默认网关地址

[root@fyr ~]# route add -net 网段地址 gw IP地址  //添加指定网段的路由记录
[root@fyr ~]# route del -net 网段地址(网段+子网掩码) //删除指定网段的路由记录

在这里插入图片描述

[root@fyr ~]# route add default gw IP地址  //向路由表中添加默认网关记录
[root@fyr ~]# route del default gw IP地址  //删除路由表中默认的网关记录

在这里插入图片描述

2.6 域名解析配置文件

配置文件位置:/etc/resolv.conf

[root@fyr ~]# cat /etc/resolv.conf 
# Generated by NetworkManager
nameserver 8.8.8.8
[root@fyr ~]# echo "DNS2=114.114.114.114" >> /etc/sysconfig/network-scripts/ifcfg-ens33 
[root@fyr ~]# cat /etc/sysconfig/network-scripts/ifcfg-ens33 
会发现多了一行DNS2=114.114.114.114
[root@fyr ~]# systemctl restart network  重启网络服务
[root@fyr ~]# cat /etc/resolv.conf 
# Generated by NetworkManager
nameserver 8.8.8.8
nameserver 114.114.114.114

在这里插入图片描述
resolv.conf 文件中的 “search localdomain” 行用来设置默认的搜索域(域名扩展名)。
一行一个DNS,最多配置三个 DNS

/etc/resolv.conf 文件中记录了本机默认使用的DNS服务器的地址信息,对该文件所做的修改将会立刻生效。Linux操作系统中最多可以指定3个(第3个以后的将被忽略)不同的 DNS 服务器地址,优先使用第一个 DNS 服务器。例如,执行以下操作可以指定默认使用的两个 DNS 服务器地址分别位于 8.8.8.8 和114.114.114.114

2.7 本地主机映射文件

/etc/hosts 文件中记录着一份主机名与IP

地址的映射关系表,一般用来保存经常需要访问的上机的信息。当访问一个未知的域名时,先查找该文件中是否有相应的映射记录,如果找不到再去向DNS服务器查询。

若在 /etc/hosts 文件中添加 “192.168.16.16 www.baidu.com” 的映射记录,则当访问网站 www.baidu.com 时,将会直接向IP地址 192.168.16.16 发送 Web 请求,省略了向 DNS

[root@fyr ~]# vim /etc/hosts  

在这里插入图片描述
在这里插入图片描述
hosts文件和DNS服务器的比较

  • 默认情况下,系统首先从 hosts 文件查找解析记录
  • hosts 文件和 DNS 服务器的比较 默认情况下,系统首先从 hosts 文件查找解析记录
  • hosts 文件只对当前的主机有效
  • hosts 文件可减少 DNS 查询过程,从而加快访问速度
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值