linux 网络工具(一)

linux 网络工具

    • 1. nmcli命令
      • 1.1 介绍
      • 1.2 networking 网络控制
      • 1.3 connection 连接管理
      • 1.4 device 设备管理
      • 1.5 nmcli 返回状态码
    • 2. ifcfg命令家族
      • 2.1 ifconfig
      • 2.2 route
      • 2.3 netstat
    • 3. 静态路由
      • Centos
      • Ubuntu - netplan
      • Ubuntu - network-manager

linux 网络工具(一)_第1张图片

1. nmcli命令

1.1 介绍

RHEL 和 CentOS 系统默认使用 NetworkManager 来提供网络服务,这是一种动态管理网络配置的守护进程,能够让网络设备保持连接状态。可以使用 nmcli 命令来管理 NetworkManager 服务。nmcli 是一款基于命令行的网络配置工具,功能丰富,参数众多。

mcli命令 是一个非常丰富和灵活的命令行工具,可以完成网卡上的所有配置,并可以写入配置文件中
centos默认安装,而ubuntu需要手动安装apt install network-manager

SYNOPSIS

NAME
       nmcli - command-line tool for controlling NetworkManager

SYNOPSIS
       nmcli [OPTIONS...] {help | general | networking | radio | connection | device | agent | monitor} [COMMAND] [ARGUMENTS...]

OPTIONS

选项 作用
-t 简洁输出,会将多余的空格删除,
-p 人性化输出,输出很漂亮
-n 优化输出,有两个选项tabular(不推荐)和multiline(默认)
-c 颜色开关,控制颜色输出(默认启用)
-f 过滤字段,all为过滤所有字段,common打印出可过滤的字段
-g 过滤字段,适用于脚本,以:分隔
-w 超时时间

COMMANDS

  1. general 常规选项
    命令格式:nmcli general {status|hostname|permissions|logging}
    命令描述:使用此命令可以显示网络管理器状态和权限,你可以获取和更改系统主机名,以及网络管理器日志记录级别和域。
  • status
    显示网络管理器的整体状态。
    [root@node1 ~]# nmcli gen status
    STATE      CONNECTIVITY  WIFI-HW  WIFI     WWAN-HW  WWAN
    connected  full          enabled  enabled  enabled  enabled
    
  • hostname
    获取主机名或该更主机名,在没有给定参数的情况下,打印配置的主机名,当指定了参数,它将被移交给NetworkManager,以设置为新的系统主机名。立即生效,并且重启后仍有效。
    [root@node1 ~]# nmcli gen hostname node1-centos
    [root@node1 ~]# cat /etc/hostname
    node1-centos
    
  • permissions
    显示当前用户对网络管理器可允许的操作权限。 如启用和禁用网络、更改WI-FI和WWAN状态、修改连接等。
    [root@node1 ~]# nmcli gen permission
    PERMISSION                                                        VALUE
    org.freedesktop.NetworkManager.enable-disable-network             yes
    org.freedesktop.NetworkManager.enable-disable-wifi                yes
    org.freedesktop.NetworkManager.enable-disable-wwan                yes
    ...
    
  • logging
    获取和更改网络管理器日志记录级别和域,没有任何参数当前日志记录级别和域显示。为了更改日志记录状态, 请提供级别和域参数,有关可用级别和域值, 参阅NetworkManager.conf(5)
    [root@node1 ~]# nmcli gen logging
    LEVEL  DOMAINS                                                                                                                            
    INFO
    PLATFORM,RFKILL,ETHER,WIFI,BT,MB,DHCP4,DHCP6,PPP,IP4,IP6,AUTOIP4,DNS,VPN,SHARING,SUPPLICANT,AGENTS,SETTINGS,SUSPEND,CORE,DEVICE,OLPC,INFINIBAND,FIREWALL,ADSL,BOND,VLAN,BRIDGE,TEAM,CONCHECK,DCB,DISPATCH,AUDIT,SYSTEMD,PROXY
    

1.2 networking 网络控制

命令格式:nmcli networking {on|off|connectivity}
命令描述:查询网络管理器网络状态,开启和关闭网络

选项:

    on: 开启所有接口
    off: 禁用所有接口
    connectivity: 获取网络状态,可选参数check告诉网络管理器重新检查连接性,否则显示最近已知的状态。而无需重新检查。(可能的状态如下所示)
        - none: 主机为连接到任何网络
        - portal: 无法到达完整的互联网
        - limited: 主机已连接到网络,但无法访问互联网
        - full: 主机连接到网络,并具有完全访问
        - unknown: 无法找到连接状态
	[root@node1 ~]# nmcli networking connectivity
	full
	[root@node1 ~]# nmcli networking connectivity check
	full
	[root@node1 ~]# nmcli networking off
	[root@node1 ~]#
	Network error: Software caused connection abort	#好的,连不上了

1.3 connection 连接管理

命令格式:nmcli connection {show|up|down|modify|add|edit|clone|delete|monitor|reload|load|import|export}
这是主要使用的一个功能

  • show

    show有两种用法,分别是:

    ① 列出活动的连接,或进行排序(±为升降序)

    # 查看所有连接状态
    [root@www ~]# nmcli connection show
    # 等同于nmcli connection show --order +active
    [root@www ~]# nmcli connection show --active
    # 以活动的连接进行排序
    [root@www ~]# nmcli connection show --order +active
    # 将所有连接以名称排序
    [root@www ~]# nmcli connection show --order +name
    # 将所有连接以类型排序(倒序)
    [root@www ~]# nmcli connection show --order -type
    

    ② 查看指定连接的详细信息

    [root@node1 ~]# nmcli connection show --order +name
    NAME                UUID                                  TYPE      DEVICE
    System ens33        c96bc909-188e-ec64-3a96-6a90982b08ad  ethernet  --
    Wired connection 1  e741eeb8-242e-3dad-8f70-df385496b90f  ethernet  --
    Wired connection 2  d05a7dea-7039-39c7-9089-d462f1402c4b  ethernet  ens33
    [root@node1 ~]# nmcli connection show ens33
    Error: ens33 - no such connection profile.		#奇怪并不好用
    
  • up/down
    激活连接/停用连接,提供连接名称或uuid进行激活,若未提供,则可以使用ifname指定设备名进行激活。

[root@node1 ~]# nmcli conn up ifname ens33
Connection successfully activated (D-Bus active path: /org/freedesktop/NetworkManager/ActiveConnection/6)
  • modify
    这些属性可以用nmcli connection show eth0进行获取,然后可以修改、添加或删除属性,若要设置属性,只需指定属性名称后跟值,空值将删除属性值,同一属性添加多个值使用+。同一属性删除指定值用-加索引。
    • 添加多个ip
    	# 添加三个
    	[root@www ~]# nmcli connection modify eth0 +ipv4.addresses 192.168.100.102/24
    	[root@www ~]# nmcli connection modify eth0 +ipv4.addresses 192.168.100.103/24
    	[root@www ~]# nmcli connection modify eth0 +ipv4.addresses 192.168.100.104/24
    	# 查看
    	[root@www ~]# nmcli -f IP4 connection show eth0
    	IP4.ADDRESS[1]:                         192.168.100.101/24
    	IP4.GATEWAY:                            192.168.100.100
    	IP4.DNS[1]:                             8.8.8.8
    	# 启用配置
    	[root@www ~]# nmcli connection up eth0
    	Connection successfully activated (D-Bus active path: /org/freedesktop/NetworkManager/ActiveConnection/18)
    	# 再次查看
    	[root@www ~]# nmcli -f IP4 connection show eth0
    	IP4.ADDRESS[1]:                         192.168.100.101/24
    	IP4.ADDRESS[2]:                         192.168.100.102/24
    	IP4.ADDRESS[3]:                         192.168.100.103/24
    	IP4.ADDRESS[4]:                         192.168.100.104/24
    	IP4.GATEWAY:                            192.168.100.100
    	IP4.DNS[1]:                             8.8.8.8
    
    
    • 删除指定ip
    	[root@www ~]# nmcli -f IP4 connection show eth0
    	IP4.ADDRESS[1]:                         192.168.100.101/24
    	IP4.ADDRESS[2]:                         192.168.100.102/24
    	IP4.ADDRESS[3]:                         192.168.100.103/24
    	IP4.ADDRESS[4]:                         192.168.100.104/24
    	IP4.GATEWAY:                            192.168.100.100
    	IP4.DNS[1]:                             8.8.8.8
    	# 删除索当前索引为2的地址
    	[root@www ~]# nmcli connection modify eth0 -ipv4.addresses 2
    	# 查看
    	[root@www ~]# nmcli -f IP4 connection show eth0
    	IP4.ADDRESS[1]:                         192.168.100.101/24
    	IP4.ADDRESS[2]:                         192.168.100.102/24
    	IP4.ADDRESS[3]:                         192.168.100.103/24
    	IP4.ADDRESS[4]:                         192.168.100.104/24
    	IP4.GATEWAY:                            192.168.100.100
    	IP4.DNS[1]:                             8.8.8.8
    	# 再次激活
    	[root@www ~]# nmcli connection up eth0
    	Connection successfully activated (D-Bus active path: /org/freedesktop/NetworkManager/ActiveConnection/19)
    	# 查看
    	[root@www ~]# nmcli -f IP4 connection show eth0
    	IP4.ADDRESS[1]:                         192.168.100.101/24
    	IP4.ADDRESS[2]:                         192.168.100.102/24
    	IP4.GATEWAY:                            192.168.100.100
    	IP4.DNS[1]:                             8.8.8.8
    
  • add
    这是创建一个新的连接,需要指定新创建连接的属性,语法与modify相同。
[root@www ~]# nmcli con add con-name eth1 type ethernet  autoconnect yes ifname eth0
# con-name     		连接名称
# type              连接类型
# autoconnect 		是否自动连接
# ifname          	连接到的设备名称

更多的类型或方法可以使用nmcli connection add help查看。

  • clone

克隆连接,克隆一个存在的连接,除了连接名称和uuid是新生成的,其他都是一样的。

[root@www ~]# nmcli connection clone eth0 eth0_1
  • delete

删除连接,这将删除一个连接。

[root@www ~]# nmcli connection delete eth0_1
  • load

从磁盘加载/重新加载一个或多个连接文件,例如你手动创建了一个/etc/sysconfig/network-scripts/ifcfg-ethx连接文件,你可以将其加载到网络管理器,以便管理。

[root@www ~]# echo -e "TYPE=Ethernet\nNAME=ethx" > /etc/sysconfig/network-scripts/ifcfg-ethx
[root@www ~]# nmcli connection show
NAME  UUID                                  TYPE            DEVICE 
eth0  5fb06bd0-0bb0-7ffb-45f1-d6edd65f3e03  802-3-ethernet  eth0 
[root@www ~]# nmcli connection load /etc/sysconfig/network-scripts/ifcfg-ethx 
[root@www ~]# nmcli connection show
NAME  UUID                                  TYPE            DEVICE 
eth0  5fb06bd0-0bb0-7ffb-45f1-d6edd65f3e03  802-3-ethernet  eth0   
ethx  d45d97fb-8530-60e2-2d15-d92c0df8b0fc  802-3-ethernet  --
  • monitor

监视连接配置文件活动。每当指定的连接更改时, 此命令都会打印一行。要监视的连接由其名称、UUID 或 D 总线路径标识。如果 ID 不明确, 则可以使用关键字 id、uuid 或路径。有关 ID 指定关键字的说明, 请参阅上面的连接显示。

监视所有连接配置文件, 以防指定无。当所有监视的连接消失时, 该命令将终止。如果要监视连接创建, 请考虑使用带有 nmcli 监视器命令的全局监视器

[root@www ~]# nmcli connection monitor eth0

1.4 device 设备管理

命令格式:nmcli device {status|show|set|connect|reapply|modify|disconnect|delete|monitor|wifi|lldp}
显示和管理设备接口。该选项有很多功能,例如连接wifi,创建热点,扫描无线,邻近发现等,下面仅列出常用选项。详细功能可使用nmcli device help查看。

  • status

    打印设备状态,如果没有将命令指定给nmcli device,则这是默认操作。

    	[root@www ~]# nmcli device status
    	DEVICE  TYPE      STATE      CONNECTION 
    	eth0    ethernet  connected  eth0       
    	lo      loopback  unmanaged  --         
    	[root@www ~]# nmcli device
    	DEVICE  TYPE      STATE      CONNECTION 
    	eth0    ethernet  connected  eth0       
    	lo      loopback  unmanaged  --
    
  • show

    显示所有设备接口的详细信息。

    # 不指定设备接口名称,则显示所有接口的信息
    [root@www ~]# nmcli device show eth0
    GENERAL.DEVICE:                         eth0
    GENERAL.TYPE:                           ethernet
    GENERAL.HWADDR:                         00:0C:29:99:9A:A1
    GENERAL.MTU:                            1500
    GENERAL.STATE:                          100 (connected)
    GENERAL.CONNECTION:                     eth0
    GENERAL.CON-PATH:                       /org/freedesktop/NetworkManager/ActiveConnection/9
    WIRED-PROPERTIES.CARRIER:               on
    IP4.ADDRESS[1]:                         192.168.100.101/24
    IP4.ADDRESS[2]:                         192.168.100.102/24
    IP4.GATEWAY:                            192.168.100.100
    IP4.DNS[1]:                             8.8.8.8
    
  • set

    设置设备属性

    [root@www ~]# nmcli device set ifname eth0 autoconnect yes
    
  • connect

    连接设备。提供一个设备接口,网络管理器将尝试找到一个合适的连接, 将被激活。它还将考虑未设置为自动连接的连接。(默认超时为90s)

    [root@www ~]# nmcli dev connect eth0
    Device 'eth0' successfully activated with '5fb06bd0-0bb0-7ffb-45f1-d6edd65f3e03'.
    
  • reapply(重新申请)

    使用上次应用后对当前活动连接所做的更改来更新设备。

    [root@www ~]# nmcli device reapply eth0
    Connection successfully reapplied to device 'eth0'.
    
  • modify

    修改设备上处于活动的设备,但该修改只是临时的,并不会写入文件。(语法与 nmcli connection modify 相同)

    [root@www ~]# nmcli device modify eth0 +ipv4.addresses 192.168.100.103/24
    Connection successfully reapplied to device 'eth0'.
    [root@www ~]# nmcli dev show eth0
    [root@www ~]# nmcli device modify eth0 -ipv4.addresses 1
    Connection successfully reapplied to device 'eth0'.
    
  • disconnect

    断开当前连接的设备,防止自动连接。但注意,断开意味着设备停止!但可用 connect 进行连接

    [root@www ~]# nmcli device disconnect eth0
    
  • delete

    删除设备,该命令从系统中删除接口。请注意, 这仅适用于诸如bonds, bridges, teams等软件设备。命令无法删除硬件设备 (如以太网)。超时时间为10秒

    [root@www ~]# nmcli device delete bonds
    
  • monitor

    监视设备活动。每当指定的设备更改状态时, 此命令都会打印一行。

    监视所有设备以防未指定接口。当所有指定的设备消失时, 监视器将终止。如果要监视设备添加, 请考虑使用带有 nmcli 监视器命令的全局监视器。

    [root@www ~]# nmcli device monitor eth0
    

1.5 nmcli 返回状态码

mcli 如果成功退出状态值为0,如果发生错误则返回大于0的值。

状态码 说明
0 成功-指示操作已成功
1 位置或指定的错误
2 无效的用户输入,错误的nmcli调用
3 超时了(请参阅 --wait 选项)
4 连接激活失败
5 连接停用失败
6 断开设备失败
7 连接删除失败
8 网络管理器没有运行
10 连接、设备或接入点不存在
65 当使用 --complete-args 选项,文件名应遵循。

2. ifcfg命令家族

ifcfg命令家族:ifconfig、route和netstat
前文提到ifcfg命令家族功能和ip相似,并且长时间未维护,很有可能被ip取代,所以本文将简要介绍

2.1 ifconfig

语法及参数

  • ifconfig命令的英文全称是“network interfaces configuring”,即用于配置和显示Linux内核中网络接口的网络参数。

  • 用ifconfig命令配置的网卡信息,在网卡重启后机器重启后,配置就不存在。要想将上述的配置信息永远的存的电脑里,那就要修改网卡的配置文件了。

  • 此工具在net-tools工具包中,可以通过yum install net-tools安装

NAME
       ifconfig - configure a network interface

SYNOPSIS
       ifconfig [-v] [-a] [-s] [interface]
       ifconfig [-v] interface [aftype] options | address ...

interface:接口的名称。这通常是一个驱动程序名,后面跟着一个单元号,例如用于第一个以太网接口的eth0。

选项options

选项 说明
up 此标志将导致激活接口。如果将地址分配给接口,则会隐式指定该地址。
down 此标志导致关闭此接口的驱动程序。
[-]arp 启用或禁用在此接口上使用ARP协议。
[-]promisc 启用或禁用接口的混杂模式。如果选中,网络上的所有数据包都将由接口接收。混杂模式是指一台机器的网卡能够接收所有经过它的数据流,而不论其目的地址是否是它。
[-]allmulti 启用或禁用所有多播模式。如果选中,则接口将接收网络上的所有多播数据包。
metric N 此参数设置接口度量。它在GNU/Linux下不可用
mtu N 此参数设置接口的最大传输单元(MTU)。
dstaddr addr 为点对点链路(如PPP)设置远程IP地址.这个关键字现在已经过时了;使用pointopoint关键字代替。
netmask addr 设置此接口的IP网络掩码。此值默认为通常的A、B或C类网络掩码(从接口IP地址派生),但可以设置为任何值。
add addr/prefixlen 向接口添加IPv 6地址
del addr/prefixlen 从接口中删除IPv 6地址
tunnel ::aa.bb.cc.dd 创建一个新的SIT(IPv6-in-IPv4)设备,通过隧道到达给定的目的地。
irq addr 设置此设备使用的中断行。并非所有设备都可以动态更改其IRQ设置。
io_addr addr 为该设备设置I/O空间中的起始地址
mem_start addr 设置此设备使用的共享内存的起始地址。只有少数几个设备需要这个
media type 设置设备要使用的物理端口或介质类型。并非所有设备都可以更改此设置,以及那些可以更改其支持的值的设备。典型的类型值是10 base 2(细以太网)、10 base T(双绞线10 Mbps以太网)、AUI(外收发信机)等。驱动的特殊介质类型可以用来告诉驱动对媒体进行自动感知。同样,并不是所有的驱动都能做到这一点。
[-]broadcast [addr] 如果地址参数给定,则为该接口设置协议广播地址。否则,设置(或清除)接口的IFF_BROADCAST标志。
[-]pointopoint [addr] 这个关键字启用了接口的点对点模式,这意味着它是两台机器之间的直接链接,没有其他人监听它。如果地址参数也给出了,就像过时的dstaddr关键字一样,设置链接另一端的协议地址。否则,设置或清除接口的IFF_POINTOPOINT标志。
hw class address 如果设备驱动程序支持此操作,则设置此接口的硬件地址(mac地址)。关键字后面必须跟着硬件类的名称和相当于硬件地址的可打印的ASCII。目前支持的硬件类包括ether (以太网)、ax25(AMPRAX.25)、ARCnet和netrom(AMPR NET/ROM)。
multicast 在接口上设置多播标志。这通常不应该需要,因为驱动程序本身设置正确的标志。
address 要分配给此接口的IP地址。
txqueuelen length 设置设备的传输队列的长度。对于具有高延迟(调制解调器链路,ISDN)的较慢设备,将其设置为小值是有用的,以防止快速批量传输过多地干扰诸如telnet之类的交互通信。
  1. 接口及地址查看
    ifconfig [interface]
    ifconfig -a 显示所有接口,-a可缺省
[root@node1 ~]# ifconfig ens33
ens33: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 192.168.71.183  netmask 255.255.255.0  broadcast 192.168.71.255
        inet6 fe80::3872:4f8b:dbfc:1aa2  prefixlen 64  scopeid 0x20<link>
        ether 00:0c:29:79:08:6b  txqueuelen 1000  (Ethernet)
        RX packets 14790  bytes 1205753 (1.1 MiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 1636  bytes 148104 (144.6 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0
        device interrupt 19  base 0x2000
  1. 启用或者禁用接口
    ifconfig IFACE IP/MASK [up/down]
[root@node1 ~]# ifconfig ens33 192.168.71.184/24 down	#好的,连不上了
[root@node1 ~]# ifconfig ens33 192.168.71.184/24 up

注意:地址及掩码可缺省

也可以以这种形式:
ifconfig ens33 192.168.71.184 netmask 255.255.255.0 down

  1. 临时修改网络地址
    ifconfig IFACE IP netmask NETMASK
[root@node1 ~]# ifconfig ens33 192.168.71.184/24

重启后失效,如果要长久使用,则需要修改配置文件

  1. 显示摘要信息
[root@node1 ~]# ifconfig -s
Iface      MTU    RX-OK RX-ERR RX-DRP RX-OVR    TX-OK TX-ERR TX-DRP TX-OVR Flg
docker0          1500        0      0      0 0             0      0      0      0 BMU
docker_gwbridge  1500     3472      0      0 0           534      0      0      0 BMU
ens33            1500     3472      0      0 0           534      0      0      0 BMRU
lo              65536        0      0      0 0             0      0      0      0 LRU
virbr0           1500        0      0      0 0             0      0      0      0 BMU
  1. 修改网卡MAC地址
[root@node1 ~]# ifconfig docker0 hw ether 00:0c:29:49:e3:f4

2.2 route

route命令:路由查看及管理,路由条目类型:

	1.	主机路由:目标地址为单个ip
	2.	网络路由:目标地址为ip网络
	3.	默认路由:目标为任意主机,0.0.0./0.0.0.0

1. 查看
route -n 显示数字IP,不加n反解地址及端口号

[root@node1 ~]# route -n
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
0.0.0.0         192.168.71.1    0.0.0.0         UG    100    0        0 ens33
192.168.71.0    0.0.0.0         255.255.255.0   U     100    0        0 ens33
[root@node1 ~]# route
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
default         gateway         0.0.0.0         UG    100    0        0 ens33
192.168.71.0    0.0.0.0         255.255.255.0   U     100    0        0 ens33

U表示活跃,G表示网关

2. 添加

route add [-net|-host] target [netmask Nm] [gw GW] [[dev] if]

1 - net 网络路由,host主机路由
2 - target 网络地址
3 - netmask 子网掩码
4 - gw 网关,下一跳地址

添加指定网段的网关

route add -net 192.168.72.0/24(或写为netmask 255.255.255.0) gw 192.168.20.1 dev enp1s0 

解释:

192.168.72.0为指定到达的网络
192.168.20.1为下一跳的网关,必须与自己的某块网卡在同一网络中
dev enp1s0 由哪个网卡访问,可省略

添加路由记录,指定通过eth0网卡传输到192.168.5.0网段的数据

route add -net 192.168.5.0 netmask 255.255.255.0 dev eth0

添加默认网关:

route add default gw 192.168.0.1 #添加默认网关

3. 删除

route del  [-net|-host] target [netmask Nm] [gw GW] [[dev] if]

示例1:

route del -net 192.168.72.0/24 [gw 192.168.20.1]	#网关可缺省

示例2:

route del default

2.3 netstat

Print network connections, routing tables, interface statistics, masquerade connec‐tions, and multicast memberships

  1. 显示路由表信息
netstat -rn

和route -n大体相似

-r 显示内核路由表
-n 不反解ip为主机名

[root@node1 ~]# netstat -rn
Kernel IP routing table
Destination     Gateway         Genmask         Flags   MSS Window  irtt Iface
0.0.0.0         192.168.71.1    0.0.0.0         UG        0 0          0 ens33
172.17.0.0      0.0.0.0         255.255.0.0     U         0 0          0 docker0
  1. 显示网络连接
netstat [-t/--tcp][-u/--udp]	  		  	 		
参数 说明
-t tcp协议相关链接,均有其状态:FSM (finite state machine,有限状态机)
-u udp协议相关
-w 裸套接字相关连接
-l 处于监听状态的连接,不加表示已建立
-a 所有状态,不加表示当前只处于连接中的,不包括-l
-n 以数字格式显示ip
-e 扩展格式
-p 显示相关进程和pid

常用组合:-nltp,-nlup, -tan, -uan

[root@node1 ~]# netstat -nltp
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name
tcp        0      0 0.0.0.0:111             0.0.0.0:*               LISTEN      857/rpcbind
...
tcp6       0      0 ::1:25                  :::*                    LISTEN      1347/master
[root@node1 ~]# netstat -nlup
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name
udp        0      0 192.168.122.1:53        0.0.0.0:*                           1636/dnsmasq
...
udp        0      0 0.0.0.0:602             0.0.0.0:*                           857/rpcbind
  1. 显示接口相关的统计数据
netstat -i/-I<无空格>[IFACE] # IFACE为接口名字

① 所有接口:

[root@node1 ~]# netstat -i
Kernel Interface table
Iface             MTU    RX-OK RX-ERR RX-DRP RX-OVR    TX-OK TX-ERR TX-DRP TX-OVR Flg
ens33            1500    40099      1      9 0          6142      0      0      0 BMRU
lo              65536        0      0      0 0             0      0      0      0 LRU
virbr0           1500        0      0      0 0             0      0      0      0 BMU

② 指定接口:

netstat -I<eth1> #不能加空格
[root@node1 ~]# netstat -Iens33
Kernel Interface table
Iface             MTU    RX-OK RX-ERR RX-DRP RX-OVR    TX-OK TX-ERR TX-DRP TX-OVR Flg
ens33            1500    42409      1      9 0          6364      0      0      0 BMRU

3. 静态路由

前面介绍的都是临时添加路由,如何在服务器重启后,添加的路由仍能生效?

Centos

在/etc/sysconfig/network-script/目录下创建名为route- eth0的文件,eth0为网卡名称,一般为eth0、ens33等

在此文件添加如下格式的内容

	192.168.1.0/24 via 192.168.0.1 dev eth0

重启网络验证

	systemctl restart network

Ubuntu - netplan

修改/etc/netplan/*.yaml配置文件

	# This file describes the network interfaces available on your system
	# For more information, see netplan(5).
	network:
	  version: 2
	  renderer: networkd
	  ethernets:
	    eth0:
	      addresses:
	       - 192.168.0.2/24
	        gateway4: 192.168.0.1
	
	      routes:
	      - to: 192.168.1.0/24
	        via: 192.168.0.1

配置保存后,通过下面命令生效

	netplan apply

Ubuntu - network-manager

编辑network/interfaces文件,我们需要编辑网络接口和IP地址的配置文件。打开终端并运行以下命令:

sudo nano /etc/network/interfaces

在文件的底部添加以下行:

up route add -net 192.168.1.0/24 gw 192.168.0.1 dev eth0

这个命令添加了一个到网关192.168.0.1的路由,并将流量发送到eth0网络接口。

保存配置文件后,重启网络服务以使更改生效。运行以下命令:

sudo service network-manager restart

你可能感兴趣的:(#,linux,网络配置,linux,运维,服务器)