Linux网络设置

Linux网络设置

一、网络地址配置

1.查看网络接口信息 ifconfig

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

执行 ifconfig 命令

查看指定网络接口信息

ifconfig 网络接口

[root@localhost ~]# ifconfig ens33
ens33: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 192.168.159.129  netmask 255.255.255.0  broadcast 192.168.159.255
        inet6 fe80::d8c5:8107:3cde:b9f4  prefixlen 64  scopeid 0x20<link>
        ether 00:0c:29:8f:fb:3b  txqueuelen 1000  (Ethernet)
        RX packets 149  bytes 25938 (25.3 KiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 148  bytes 17927 (17.5 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0
inet 192.168.159.129  ip地址
netmask 255.255.255.0  子网掩码
broadcast 192.168.159.255  广播地址
ether 00:0c:29:8f:fb:3b  mac地址

2.显示和设置系统的主机名hostname

[root@localhost ~]# 
[root@localhost ~]# hostnamectl set-hostname liwenbin
[root@localhost ~]# su
[root@liwenbin ~]# hostname
liwenbin

3.网络配置修改

[root@liwenbin ~]# vim /etc/sysconfig/network-scripts/ifcfg-ens33
TYPE=Ethernet                                               #网卡类型,Ethernet为以太网
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=static                                            #网络配置方式。static为静态dhcp为动态 
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_FAILURE_FATAL=no
IPV6_ADDR_GEN_MODE=stable-privacy
NAME=ens33                                                  #网络接口名称
UUID=2d24434e-14a8-4aa0-8e5b-40b53befb6f6                   #网卡地址
DEVICE=ens33                                                #网络接口名称
ONBOOT=yes                                                  #是否开机自启动
IPADDR=192.168.159.129                                      #网络接口IP地址
NETMASK=255.255.255.0                                       #网络接口子网掩码
GATEWAY=192.168.159.2                                       #网络接口默认网关
DNS1=114.114.114.114                                        #域名解析服务器地址

修改配置文件后,需要重启网络服务:systemctl restart network

二、路由表配置

windows:机器上查看路由表route print
路由表:linux操作系统中的路由表决定着从本机向其他主机、其他网络发送数据的去向,是排除网络故障的关键信息
直接执行route命令可以查看当前主机中的路由表信息

1.route -n

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

[root@liwenbin ~]# route -n
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface      
0.0.0.0         192.168.159.2   0.0.0.0         UG    100    0        0 ens33
192.168.122.0   0.0.0.0         255.255.255.0   U     0      0        0 virbr0
192.168.159.0   0.0.0.0         255.255.255.0   U     100    0        0 ens33

Destination 对应目标网段的地址

Gateway 对应下一跳路由器的地址

Iface 对应发送数据的网络接口

2.ip route

查看路由配置

[root@liwenbin ~]# ip route
default via 192.168.159.2 dev ens33 proto static metric 100 
192.168.122.0/24 dev virbr0 proto kernel scope link src 192.168.122.1 
192.168.159.0/24 dev ens33 proto kernel scope link src 192.168.159.129 metric 100 
#192.168.159.0/24网段从ens33出去的流量到达192.168.159.129的度量值为100

三、netstat命令

查看当前操作系统的网络连接状态、路由表、接口统计等信息,他是了解网络状态及排除网络服务故障的有效工具

-n 以数字的形式显示相关的主机地址、端口等信息

-r 显示路由表信息

-a 显示主机中所有活动的网络连接信息(包括监听、非监听状态的服务端口)

-l 显示处于监听(Listening)状态的网络连接及端口信息

-t 查看TCP相关的信息

-u 查看UDP协议相关的信息

-p 显示与网络连接相关联的进程号、进程名信息(该选项需要root权限)

Proto显示连接使用的协议
RefCnt表示连接到本套接口上的进程数量
Types显示套接口的类型
State显示套接口当前的状态
Path表示连接到套接口的其它进程使用的路径名

四、ss命令

也可以查看网络连接情况,主要用于获取 socket 统计信息,他可以显示和netstat 命令类似的内容。但ss的优势在于它能够显示更多更详细的有关 TCP 和连接状态的信息,而且比 netstat 更快速更高效

-h 通过该选项获取更多的使用帮助

-V 显示软件的版本号

-t 显示TCP协议的sockets

-u 显示UDP协议的sockets

-n 不解析服务的名称,如 22 端口不会显示成 ssh

-l 只显示处于监听状态的端口

-p 显示监听端口的进程

-a 对TCP协议来说,既包含监听的端口,也包含建立的连接

-r 把IP解释为域名,把端口号解释为协议名称

为什么ss比netstat快:

netstat是遍历/proc下面每个PID目录,ss直接读/proc/net下面的统计信息。所以ss执行的时候消耗资源以及消耗的时间都比netstat少很多

五、ping命令

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

[root@liwenbin ~]# ping 192.168.159.2
PING 192.168.159.2 (192.168.159.2) 56(84) bytes of data.
64 bytes from 192.168.159.2: icmp_seq=1 ttl=128 time=0.307 ms
64 bytes from 192.168.159.2: icmp_seq=2 ttl=128 time=0.339 ms
64 bytes from 192.168.159.2: icmp_seq=3 ttl=128 time=0.718 ms
64 bytes from 192.168.159.2: icmp_seq=4 ttl=128 time=0.284 ms
^C
--- 192.168.159.2 ping statistics ---
4 packets transmitted, 4 received, 0% packet loss, time 3001ms
rtt min/avg/max/mdev = 0.284/0.412/0.718/0.177 ms

ping -c 表示指定ping的次数

[root@liwenbin ~]# ping -c 5 www.baidu.com
PING www.a.shifen.com (180.101.49.12) 56(84) bytes of data.
64 bytes from 180.101.49.12 (180.101.49.12): icmp_seq=1 ttl=128 time=6.73 ms
64 bytes from 180.101.49.12 (180.101.49.12): icmp_seq=2 ttl=128 time=6.89 ms
64 bytes from 180.101.49.12 (180.101.49.12): icmp_seq=3 ttl=128 time=6.62 ms
64 bytes from 180.101.49.12 (180.101.49.12): icmp_seq=5 ttl=128 time=5.86 ms

--- www.a.shifen.com ping statistics ---
5 packets transmitted, 4 received, 20% packet loss, time 4006ms
rtt min/avg/max/mdev = 5.863/6.528/6.892/0.407 ms

ping -i 表示间隔几秒发送一个网络封包给一台机器,预设值是一秒发送一次

[root@liwenbin ~]# ping -i 0.5 www.baidu.com

若看到“Destination Host Unreachable"的反馈信息,则表示目的主机不可达,可能目标地址不存在或主机已经关闭

若看到“Network is unreachable”的反馈信息,则表示没有可用的理由记录(如默认网关),无法到达目标主机所在的网络

当目标主机有严格的防火墙限制时,或者当网络中存在影响通信过程稳定性的因素(如网卡故障、病毒或网络攻击等)时,可能收到“Request timeout”的反馈结果

六、跟踪数据包的路由途径 traceroute

traceroute命令可以用于测试从当前主机到目的主机之间经过了哪些网络结点,并显示各中间结点的连接状态(响应时间)。对于无法响应的结点,连接状态将显示为 “*”

[root@liwenbin ~]# traceroute 192.168.159.131
traceroute to 192.168.159.131 (192.168.159.131), 30 hops max, 60 byte packets

traceroute 命令能够比 ping 命令更加准确的定位网络连接的故障点(中断点),因此执行速度会比 ping 命令稍慢

在网络测试与排错过程中,通常会先使用 ping 命令测试与目的主机的网络连接,如果发现网络连接有故障,再使用 traceroute 命令跟踪查看是在那个中间结点存在故障

七、time命令

测量命令的执行时间或者系统资源的使用情况

image-20220608112241870

1.real:从进程1s开始执行到完成所耗费的CPU总时间。该时间包括1s进程执行时实际使用的cPU时间,1s进程耗费在阻塞上的时间(如等待完成I/o操作)和其他进程所耗费的时间(linux是多进程系统,1s在执行过程中,可能会有别的进程抢占CPU)

2.uer:进程1s执行用户态代码所耗费的CPU时间。该时间仅指1s进程执行时实际使用的CPU时间,而不包括其他进程所使用的时间和本进程阻塞的时间

3.sys:进程1s在内核态运行所耗费的CPU时间,即执行内核系统调用所耗费的CPU时间

Is命令的真正执行时间是多少?答案就是user+sys的时间,但一股情况下,real=user+sys,因而我们就使用real的时间作为1s的执行时间了

八、/etc/resolv.conf 和 /etc/host

/etc/resolv.conf 域名解析配置文件

vi /etc/resolv.conf
search localdomain
nameserver 202.106.0.20
nameserver 202.106.148.1

resolv.conf文件中的"search localdomain"行用来设置默认的搜索域(域名扩展名)。
例如,当访问主机localhost"时,就相当于访问"localhost.localhostmain"。
一行一个DNS,最多配置三个DNS

[root@liwenbin ~]# ping localhost   #本地回环
PING localhost (127.0.0.1) 56(84) bytes of data.
64 bytes from localhost (127.0.0.1): icmp_seq=1 ttl=64 time=0.053 ms
64 bytes from localhost (127.0.0.1): icmp_seq=2 ttl=64 time=0.056 ms
64 bytes from localhost (127.0.0.1): icmp_seq=3 ttl=64 time=0.053 ms

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

/etc/host 本地主机映射文件

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

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

九、配置网络参数

两种方式:临时配置和永久配置
临时配置:临时配置:通过命令行直接修改当前正在使用的网络地址,修改后立即可以生效
这种方式操作简单快速、执行效率高,一般在调试网络的过程中使用。但由于所做的修改并没有固定地存放在静态的文件中,因此当重启network服务或重启主机后将会失效。
永久配置:通过配置文件来存放固定的各种网络地址,需要重启network服务或重启主机后才会生效。这种方式操作上相对要复杂一些,但相当于“永久配置”,一般在需要为服务器设置固定的网络地址时使用ifconfig命令不仅可以用于查看网卡配置,还可以修改网卡的IP地址、子网掩码,也可以绑定虚拟网络接口、激活或禁用网络接口。

ifconfig ens33 192.168.0.1 netmask 255.255.255.0        #临时配置网卡的ip地址
ifconfig ens.33 192.168.0.1/24							#当不指定子网掩码时,将使用IP地址所在分类的默认子网掩码

为网卡绑定虚拟接口:在对服务器网络进行调试的过程中,有时候需要临时在同一个网卡上使用一个新的IP地址,但是又不能覆盖原有ip地址而导致服务程序不可用。
这时可以为网卡绑定一个虚拟的网络接口,然后为虚拟接口设置新的IP地址(相当于一块网卡配多个IP地址)。

ifconfig ens33:0 172.17.17.17

临时启动与关闭网卡

ifconfig +网卡 up     #打开
ifconfig +网卡 down   #关闭
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值