Linux网络设置

2022/1/10 7:05:09

本文主要是介绍Linux网络设置,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

linux网络设置

一,查看网络配置

1.查看网络接口信息ifconfig

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

执行ifconfig命令

查看指定网络接口信息

ifconfig -a #显示所有活动及非活动的连接

ifdown ens33 #关闭某个网卡

ifup ens33 #启动某个网卡

ifconfig ens33 down #临时禁用某个网卡

ifconfig ens33 up #重新激活某个网卡(不会更新IP地址)

ifconfig 网络接口
[root@localhost ~]# ifconfig ens33
ens33 flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 192.168.4.11 netmask 255.255.255.0 broadcast 192.168.4.255
inet6 fe80.9106:d38b:670d:1a89 prefixlen 64 scopeid 0x20<link>
ether 00:0c:29:3a:81:cc txqueuelen 1000(Ethernet)
..//省略部分内容

flags=4163<开启状态,广播,运行中,组播>

mtu:最大传输率

ether :MAC地址

RX:数据包的接收个数

TX:数据包的发送个数

lo:主机回环地址,IP地址固定为127.0.0.1,子网掩码为8位,表示本机。

virbr0:虚拟网卡,默认为0号虚拟网络连接端口

uname -a查看当前内核版本
uname -r简版当前内核版本
cat letc/redhat-release cat /etc/*release查看当前系统版本信息

2.查看主机名称hostname

hostname命令

查看或设置当前主机名

hostname[主机名](临时)

示例

[root@localhost ~]# hostname
localhost.localdomain

3.查看路由表条目route

route命令

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

ip route show=ip route    #查看路由配置

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

示例

[root@localhost ~]# route -n
Kernel IP routing table
Destination     Gateway      Genmask       Flags    Metric    Ref    Use    lface
0.0.0.0       192.168.4.1    0.0.0.0        UG       100       0      0     ens33
192.168.4.0    0.0.0.0    255.255.255.0     U        100       0      0     ens33

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

Destination 列对应目标网段的地址
Gateway 列对应下一跳路由器的地址
Iface 列对应发送数据的网络接口

添加静态路由条目
1.临时添加路由(重启network服务失效)
方法一:

route add -net 192.168.3.0/24 gw 192.168.8.2 [dev ens33]

-net:指定目标网段的地址
gw:指定下一跳路由器的 IP 地址
dev: 为路由指定的输出接口

删除静态路由条目

route del -net 192.168.3.0/24

方法二:

ip route add 192.168.15.0/24 via 192.168.80.2 [dev ens33]

2.永久添加路由(重启network服务生效)

方法一:
vi /etc/sysconfig/static-routes
any net any gw 192.168.80.2
any net 192.168.3.0/24 gw 192.168.80.2
any net 10.0.0.0 netmask 255.0.0.0 gw 192.168.80.2
any host 192.168.100.100 gw 192.168.80.2

systemctl restart network

方法二:
vim /etc/sysconfig/network-scripts/route-ens33
default via 192.168.80.2 dev ens33		#默认路由,另一种格式 0.0.0.0/0 192.168.14.254 dev ens33

10.211.6.0/24 via 192.168.80.2 dev ens33
192.168.100.200  via 192.168.14.254 dev ens33

systemctl restart network
或
service network restart

4.查看网络连接情况netstat

netstat命令

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

netstat[选项]

常用选项

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

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

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

-t :查看 TCP(Transmission Control Protocol,传输控制协议)相关的信息。

-u :显示 UDP(User Datagram Protocol,用户数据报协议)协议相关的信息。

-r :显示路由表信息

[root@localhost~]# netstat -anpt | grep ":80"
tcp60   0  :::80  :::*  LISTEN  20563/httpd

5.获取socket统计信息ss

ss 的优势在于它能够显示更多更详细的有关 TCP 和连接状态的信息,

而且比 netstat 更快速更高效。要想使用ss命令是Linux CentOS7中iproute软件包的一部分,默认已经安装,如果没安装,额可以通过yum安装

ss命令

查看系统的网络连接情况,获取socket统计信息

ss[选项]

常用选项

-t :tcp 显示 TCP 协议的 sockets。

-u :udp 显示 UDP 协议的 sockets。

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

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

-p :processes 显示监听端口的进程。

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

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

[root@localhost ~]# ss -t state established
Recv-Q  Send-Q   Local Address:Port   Peer Address:Port
0       96       192.168.8.10:ssh     192.168.8.1:55213
[root@localhost ~]# time ss
real	0m0.012s
user	0m0.003s
sys		0m0.005s
[root@localhost ~]# time netstat -an
real	0m0.027s
user	0m0.001s
sys		0m0.006s

查看并发连接数ss和netstat对比

[root@shengjie ~]#  time netstat -ant | grep EST | wc -l
0

real	0m0.002s
user	0m0.002s
sys		0m0.002s
[root@shengjie ~]#  time ss -o state established | wc -l
711

real	0m0.013s
user	0m0.003s
sys		0m0.003s

为什么ss比netstat快:

netstat是遍历/proc下面每个PID目录,

ss直接读/proc/net下面的统计信息。

所以ss执行的时候消耗资源以及消耗的时间都比netstat少很多

[root@centos7 ~]# ss -tn | grep -w 22                    -w用于字符串的精确匹配
ESTAB      0      0      192.168.245.151:22                 192.168.245.152:35318              
ESTAB      0      21800  192.168.0.105:22                 192.168.0.103:61488              
ESTAB      0      0      192.168.0.105:22                 192.168.0.103:61491          
[root@localhost ~]# ss -o state 'established' | grep ssh   #-o选项可用于显示计时器信息。该信息向我们展示了诸如重新传输计时器值、已经发生的重新传输的数量以及已发送的keepalive探测的数量
tcp    0      52     192.168.245.211:ssh                  192.168.245.1:64550                 timer:(on,234ms,0)

ss 命令的输出结果,可以提供 TCP 和 UDP 的 socket 信息,以及各种服务建立的持久连结,熟悉这个命令有助于更好的发现与解决系统性能问题。例如,执行以下操作可以显示TCP 协议下已经建立的连接,“Local Address:Port” 表示本地监听的 IP 和端口,“Peer Address:Port”表示远端连接的 IP 和端口

[root@localhost ~]# ss -t state established   #established, syn-sent, syn-recv, fin-wait-1, fin-wait-2, time-wait, closed, closed-wait, last-ack监听和关闭等状态
Recv-Q Send-Q        Local Address:Port                         Peer Address:Port                
0      52          192.168.245.211:ssh                         192.168.245.1:64550                

[root@shengjie ~]# ss -tnl sport le 500
State       Recv-Q Send-Q                 Local Address:Port                                Peer Address:Port              
LISTEN      0      128                                *:111                                            *:*                  
LISTEN      0      5                      192.168.122.1:53                                             *:*                  
LISTEN      0      128                                *:22                                             *:*                  
LISTEN      0      100                        127.0.0.1:25                                             *:*                  
LISTEN      0      128                               :::111                                           :::*                  
LISTEN      0      128                               :::22                                            :::*                  
LISTEN      0      100                              ::1:25                                            :::*           

【le:小于,ge:大于,eq:等于】

二,测试网络连接

1.测试网络连接 ping

ping命令

测试网络连通性

-c表示指定ping的次数

-i 秒数:设定间隔几秒送一个网络封包给一台机器,预设值是一秒送一次。

ping -w 5 www.baidu.com #表示ping的超时时间为5s,意思是只ping5秒,5秒后结束

ping[选项]目标主机

示例

[root@localhost ~]# ping 192.168.4.110
PING 192.168.4.110 (192.168.4.110)56(84) bytes of data.
64 bytes from 192.168.4.110: icmp_seq=2 ttl=128 time=0.274 ms
^C  按Ctrl+C中止测试
---192.168.4.110 ping statistics---
2 packets transmitted, 2 received,0% packet loss, time 1162ms
rtt min/avg/max/mdev = 0.274/0.484/0.694/0.210 ms

2.跟踪数据包traceroute

traceroute命令

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

traceroute 目标主机地址

示例

[root@localhost ~]# traceroute 192.168.7.7
traceroute to 192.168.7.7 (192.168.7.7),30 hops max, 40 byte packets
1 (192.168.4.1)7.740 ms 15.581 ms 15.881 ms
2 (192.168.7.7)19.652 ms 19.995 ms 19.942 ms

3.域名解析nslookup

nslookup命令

测试DNS域名解析

nslookup 目标主机地址 [DNS服务器地址]

示例

[root@localhost ~]# nslookup www.google.com
Server:  202.106.0.20     DNS服务器地址
Address: 202.106.0.20#53
Non-authoritative answer:
Name: www.l.google.com    解析的IP地址
Address:173.194.127.51

三,使用网络配置命令

1.设置网络参数的方式

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

简单、快速,可直接修改运行中的网络参数

—般只适合在调试网络的过程中使用

系统重启以后,所做的修改将会失效

固定设置———通过配置文件修改网络参数

修改各项网络参数的配置文件

适合对服务器设置固定参数时使用

需要重载网络服务或者重启以后才会生效

2.设置网络接口参数ifconfig

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

ifconfig 网络接口 ip地址 [netmask子网掩码]
ifconfig 网络接口 ip地址 [/子网掩码长度]

禁用或者重新激活网卡

ifconfig 网络接口 up 
ifconfig 网络接口 down

设置虚拟网络接口

ifconfig 网络接口:序号 IP地址

3.设置路由记录route

添加到指定网段的路由记录

route add -net网段地址gw IP地址

删除到指定网段的路由记录

route del -net网段地址

向路由表中添加默认网关记录

route add default gw IP地址

删除路由表中默认的网关记录

route del default gw IP地址

4.修改主机名hostname

hostname命令

设置主机名

hostname主机名称

示例

[root@localhost ~]# hostnamelocalhost.localdomain
[root@localhost ~]# hostname www.bdqncom
[root@localhost ~]# hostname
www.bdqn.com
[root@localhost ~]# bash  启用新的Shell会话
[root@www ~]#

四,修改网络配置文件

1.网络接口配置文件

/etc/sysconfig/network-scripts/目录下

ifcfg-ens33:第1块以太网卡的配置文件

[root@localhost ~]# ls /etc/sysconfig/network-scripts/ifcfg-*
/etc/sysconfig/network-scripts/ifcfg-ens33
/etc/sysconfig/network-scripts/ifcfg-lo

2.网络接口配置文件

/etc/sysconfig/network-scripts/目录下

ifcfg-ens33:第1块以太网卡的配置文件

[root@localhost ~]# vim /etc/sysconfig/network-scripts/ifcfg-ens33
TYPE=Ethernet
BOOTPROTO=static
DEVICE=ens33
ONBOOT=yes
IPADDR=192.168.4.11
NETMASK=255.255.255.0
GATEWAY=192.168.4.100

3.启用、禁用网络接口配置

重启network网络服务

[root@localhost ~]# systemctl restart network

禁用、启用网络接口

[root@localhost ~]# ifdown ens33
[root@localhost ~]# ifup ens33

4.域名解析配置文件

/etc/resolv.conf文件

保存本机需要使用的DNS服务器的IP地址

[root@localhost ~]# vi /etc/resolv.conf
search localdomain
nameserver 202.106.0.20
nameserver 202.106.148.1

注意:CentOS 7需要在NetworkManager.conf文件main段内设置dns=none,并重启NetworkManager服务,或者使用CentOS7新添加nmcti命令进行设置

5.本地主机映射文件

/etc/hosts 文件

保存主机名与IP地址的映射记录

[root@localhost ~]# cat /etc/hosts
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.
119.75.218.70 www.baidu.com

hosts文件和DNS服务器的比较

默认情况下,系统首先从hosts文件查找解析记录

hosts文件只对当前的主机有效

hosts文件可减少DNS查询过程,从而加快访问速度

6.dig命令

一个在类Unix命令行模式下查询DNS包括NS记录,A记录,MX记录等相关信息的工具,系统默认安装,若没有:yum -y install bind-utils

dig www.baidu.com #后跟域名直接查询



这篇关于Linux网络设置的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!


扫一扫关注最新编程教程