Linux网络设置

目录

一、查看网络配置

1. 查看网络接口信息 ifconfig

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

1.2 查看指定网络接口信息

2. 查看主机名称hostname

2.1 hostname 命令

2.2 永久设置主机名

3. 查看路由表条目 route

3.1 route 命令

二、查看网络连接情况

1. 查看网络连接情况 netstat(即端口扫描)  

2. 获取 socket 统计信息—— ss

2.1 ss命令概述

2.2 ss选项

2.3 netstat 命令与ss 命令的区别

3. 查找进程打开的文件及相关联的内容——lsof

三、测试网络连接

1. ping命令 - 测试网络连接通性

2. traceroute - 跟踪数据包的路由途径

3. nslookup - 测试DNS域名解析 

四、设置网络参数

1.设置网络参数的方式

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

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

2. ifconfig 命令 - 设置网络接口参数

3. route 命令 - 设置路由记录

4.永久添加路由 

5.配置网络接口

6.配置DNS域名解析服务器

7.保存域名\主机名与IP地址的映射记录


一、查看网络配置

1. 查看网络接口信息 ifconfig

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

● 执行 ifconfig 命令

1.2 查看指定网络接口信息

ifconfig  "网络接口"

 示例:

[root@localhost ~]# ifconfig ens33
ens33: flags=4163  mtu 1500   #该口已启用,支持广播、正在运行 支持组播 最大传输单元1500
        inet 192.168.100.88  netmask 255.255.255.0 broadcast 192.168.100.255
        inet6 fe80::79ca:73de:de6c:1d62  prefixlen 64 scopeid 0x20   #IPV6地址  作用域link表示仅该接口有效
        ether 00:0c:29:51:09:ff  txqueuelen 1000(Ethernet)
        RX packets 21785  bytes 21444139 (20.4 MiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 12411  bytes 859906 (839.7 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0 collisions 0

ifconfig     #查看所有活动的网络接口信息
 
ifconfig "网络接口"     #查看指定的网络接口信息(无论网卡是否启用)
 
ifconfig -a     #显示所有网络接口信息(包括未启用的网卡)
 
ifconfig "网络接口" "ip地址/掩码长度"     #设置虚拟网卡
例:
ifconfig ens33:0 192.168.10.11/24
ifconfig ens33:0 down     #临时禁用虚拟网卡
ifconfig ens33:0 up     #开启虚拟网卡
 
ifdown "网络接口"     #禁用网卡
ifup "网络接口"     #启动网卡

2. 查看主机名称hostname

2.1 hostname 命令

● 查看或临时设置当前主机名

hostname [主机名]

2.2 永久设置主机名

hostnamectl set-hostname [主机名]

vi /etc/hostname       #设置完后需重启系统才生效
                                 #只有第一行有效

3. 查看路由表条目 route

3.1 route 命令

route [-n]       #查看或设置主机中路由表信息

示例:

[root@005_yjw ~]# route -n
Kernel IP routing table
Destination        Gateway            Genmask          Flags  Metric  Ref    Use   Iface
  0.0.0.0             192.168.100.2   0.0.0.0               UG     100       0        0      ens33

192.168.100.0    0.0.0.0              255.255.255.0   U        100       0        0      ens33

二、查看网络连接情况

1. 查看网络连接情况 netstat(即端口扫描)  

netstat  [-natp]

常用选项 解释
-a 显示主机中所有活动的网络连接信息(包括监听、非监听状态的服务端口
-n 以数字的形式显示相关的主机地址、端口等信息
-r 显示路由表信息
-l 显示处于监听(Listening)状态的网络连接及端口信息
-t 查看TCP协议相关的信息
-u 显示UDP协议相关的信息
-p 显示与网络连接相关联的进程号、进程名称信息(该选项需要root权限)

示例:

netstat -natp      #只看TCP协议的
netstat -antp | grep 端口号
netstat -anultp    #除了路由表信息,其他全查询

2. 获取 socket 统计信息—— ss

2.1 ss命令概述

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

当服务器的socket连接数量变得非常大时,无论是使用netstat命令还是直接cat/proc/net/tcp,执行速度都会很慢。

ss快的秘诀在于,它利用到了TCP协议栈中tcp_diag

tcp_diag是一个用于分析统计的模块,可以获得Linux内核中第一手的信息,这就确保了ss的快捷高效。

ss命令是Linux CentOS 7中iproute软件包的一部分,默认已经安装。

2.2 ss选项

常用选项 作用
-t tcp协议相关
-u udp协议相关
-w 裸套接字相关
-x unix sock相关
-l listen状态的连接
-a 所有
-n 数字格式
-p 相关的程序及PID
-e 扩展的信息
-m 内存用量
-o 计时器信息
-r ——resolv 把IP解释为域名,把端口号解释为协议名称

示例:

ss -nltp | grep 22   #查看tcp的所有包含22的端口

 比较:

使用time命令来比较netstat和ss

netstat:

[root@localhost ~]# time netstat -atn
Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address           Foreign Address         State
tcp        0      0 0.0.0.0:111             0.0.0.0:*               LISTEN
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN
tcp        0      0 127.0.0.1:25            0.0.0.0:*               LISTEN
tcp        0      0 192.168.100.88:22       192.168.100.1:60315     ESTABLISHED
tcp        0     48 192.168.100.88:22       192.168.100.1:60278     ESTABLISHED
tcp6      0      0 :::111                     :::*                    LISTEN
tcp6      0      0 :::22                       :::*                    LISTEN
tcp6      0      0 ::1:25                     :::*                    LISTEN

real    0m0.003s
user    0m0.001s
sys     0m0.002s

ss:

[root@localhost ~]# time ss -atn
State      Recv-Q Send-Q Local Address:Port               Peer Address:Port     
LISTEN     0      128          *:111                      *:*
LISTEN     0      128          *:22                       *:*
LISTEN     0      100    127.0.0.1:25                       *:*                 
ESTAB      0      0      192.168.100.88:22                 192.168.100.1:60315  
ESTAB      0      0      192.168.100.88:22                 192.168.100.1:60278  
LISTEN     0      128         :::111                     :::*
LISTEN     0      128         :::22                      :::*
LISTEN     0      100        ::1:25                      :::*

real    0m0.023s
user    0m0.002s
sys     0m0.004s

“LISTEN”是指在网络通信中等待连接的TCP端口的状态之一。当一个主机上的应用程序在指定的端口上开始监听连接请求时,它进入“LISTEN”状态,表示正在等待其他主机建立连接。

“ESTABLISHED”是指在网络通信中建立的TCP连接的状态之一。它表示当前的TCP连接已成功建立并且正在进行数据传输。

已连接(已建立三次握手)TIME_OUT

2.3 netstat 命令与ss 命令的区别

  1. ss 命令可以查看网络连接信息
  2. ss 命令主要向socket获取统计信息
  3. ss 命令可以查看内存
  4. 2条命令均可查看pid和程序\进程名

3. 查找进程打开的文件及相关联的内容——lsof

lsof(List Open Files)是一个用于列出系统中打开文件的命令行工具。它可以显示当前系统中打开的文件、目录、套接字、管道等资源,以及与它们相关联的进程信息。

lsof "选项"

lsof     #列出所有打开的文件和网络连接
lsof -p "pid"     #列出指定进程ID(PID)打开的文件和网络连接
lsof -u "username"     #列出指定用户打开的文件和网络连接
lsof -i:"端口号"     #列出指定端口被哪些进程占用
lsof -i -sTCP:LISTEM     #以监听模式查看网络连接
lsof -c "commond"     #列出指定命令打开的文件
 
lsof -i -P -a -p "PID"
# -i:表示只显示网络连接信息
# -P:强制显示端口号
# -a:表示进行与查询条件的逻辑与操作
# -p:表示指定要查询的程序ID

三、测试网络连接

1. ping命令 - 测试网络连接通性

ping "选项"

常用选项 解释
-c 发送包的个数
-i 发送包的间隔时间
-W 超时时间
-w 多少秒后停止ping命令操作

2. traceroute - 跟踪数据包的路由途径

traceroute "目标主机地址"

3. nslookup - 测试DNS域名解析 

nslookup "地址"

[root@localhost ~]# nslookup www.csdn.net
Server:         114.114.114.114
Address:        114.114.114.114#53
 
Non-authoritative answer:
www.csdn.net    canonical name = 55cb88f4.csdn.net.cname.yunduns.com.
Name:   55cb88f4.csdn.net.cname.yunduns.com
Address: 218.95.237.78

四、设置网络参数

1.设置网络参数的方式

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

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

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

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

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.永久添加路由 

静态路由配置文件:/etc/sysconfig/static-routes

vi /etc/sysconfig/static-routes     #编辑静态路由配置文件
any net any gw 192.168.233.21     #将所有网络流量都路由到192.168.233.21网关
any net 192.168.3.0/24 gw 192.168.233.21     
#将目的网络为192.168.3.0/24的所有流量路由到192.168.233.21网关
 
anynet 10.0.0.0 netmask 255.0.0.0 gw 192.168.233.21     
#将目的网络为10.0.0.0的所有流量,使用掩码255.0.0.0,路由到192.168.233.21网关
any host 192.168.100.100 gw 192.168.233.21 
#将目的IP为192.168.100.100的所有流量路由到192.168.233.21网关
 
#修改后需要重启网络服务,否则修改不生效
systemctl restart network     #重启网络服务

5.配置网络接口

网卡配置文件:/etc/sysconfig/network-scripts/ifcfg-ens33

vi /etc/sysconfig/network-scripts/ifcfg-ens33 #编辑网卡配置文件
TYPE=Ethernet     #设置网卡类型,"Ethernet"表示以太网
DEVICE=ens33     #设置网卡名称
ONBOOT=yes     #设置网卡是否在Linux操作系统启动时激活
BOOTPROTO=static     #设置网卡的配置方式,"static"表示使用静态IP地址;"dhcp"表示动态获取IP地址
IPADDR=192.168.100.10     #设置网卡的IP地址
NETMASK=255.255.255.0     #设置网卡的子网掩码
GATEWAY=192.168.100.2     #设置网卡的默认网关地址
DNS1=114.114.114.114     #设置DNS服务器的IP(配置于网卡上)
 
systemctl restart network     #配置完成后需重启网卡

6.配置DNS域名解析服务器

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

vi /etc/resolv.conf
nameserver 144.144.144.144     #配置DNS于系统中
 
systemctl restart network     #配置完成后需重启网卡服务

7.保存域名\主机名与IP地址的映射记录

文件位于:/etc/hosts

vi /etc/hosts
127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
::1         localhost localhost.localdomain localhost6 localhost6.localdomain6
218.95.237.78 www.csdn.net
192.168.10.20 server2

你可能感兴趣的:(linux,网络,运维)