NetworkManager(Linux网络管理)

在CentOS7以前修改IP地址,基本都是直接去/etc/sysconfig/network-scripts/ 下找到网卡配置文件直接修改,当然这招目前依然好用,但是每次都修改配置文件太麻烦了,所以从7开始有了新的网络管理工具NetworkManager,可以很方便的管理链接设备的关系

NetworkManager

这个工具在Linux最小化安装方式下是不会被安装的,安装完最小化系统后,使用yum groupinstall "Base"来安装系统的基本包组,这里包含了系统常用的一些命令和管理工具。

查看相关命令

NetworkManager在系统中的命令为nmcli

 
# 查看所有硬件设备信息
nmcli device show
# 查看制定设备信息
nmcli device show <device name>
# 查看WIFI信号
nmcli device wifi
# 查看链接和设备的状态(关系)
nmcli device
# 查看链接
nmcli connection show
# 查看所有活动中的链接
nmcli connection show --active 
# 查看指定的链接
nmcli connection show <connection name>

链接操作相关

链接就是一组IP配置信息,可以创建多个链接,使用的时候只要把链接连上对应的设备即可。

配置静态IPV4地址

命令结构示例,各个参数之间基本没有绝对的位置要求 nmcli connection add <connect name> ifname <device name> autoconnect yes type ethernet gw4 <ipv4 gateway address> ip4 <ipv4 address>/<mask> ipv4.method manual 其中autoconnect yes为配置完自动连接到设备,type ethernet为指定类型为以太网, ipv4.method manual为配置ipv4地址为手动配置,此项缺省是 auto

 
[root@localhost ~]# nmcli connection add con-name ens33-static autoconnect yes type ethernet ifname ens33 gw4 192.168.181.1 ip4 192.168.181.140/24 ipv4.method manual
Connection 'ens33-static' (f7e90a8c-ca47-4d49-a53b-b22f6ceda8eb) successfully added.

配置动态地址

默认情况下不指定地址就是动态方式

 
[root@localhost ~]# nmcli connection add con-name ens33-dhcp ifname ens33 autoconnect yes type ethernet
Connection 'ens33-dhcp' (0a56d5a1-6d94-427d-b92b-6718eeb79307) successfully added.
[root@localhost ~]# nmcli connection show ens33-dhcp 
...
ipv4.method:                            auto   # 这里能看到为自动获取方式

删除建立的链接

链接被删除后,系统会自动找一个链接来顶替上

 
nmcli connection delete <connection name>
# 操作
[root@localhost ~]# nmcli connection delete ens33-static 
Connection 'ens33-static' (f7e90a8c-ca47-4d49-a53b-b22f6ceda8eb) successfully deleted.

启用链接

启用配置好的链接,并使用ifconfig查看配置

 
[root@localhost ~]# nmcli connection up ens33-static 
[root@localhost ~]# ifconfig
ens33: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 192.168.181.140  netmask 255.255.255.0  broadcast 192.168.181.255
        ....

停用链接

断开链接和设备的链接(取消联系)

 
nmcli connection down <connection name>
# 操作
[root@localhost ~]# nmcli connection down ens33-static 
[root@localhost ~]# nmcli connection show
NAME         UUID                                  TYPE      DEVICE 
ens33        df93bf3f-fcea-458b-a934-931a3f10f4f2  ethernet  ens33  
ens33-dhcp   0a56d5a1-6d94-427d-b92b-6718eeb79307  ethernet  --     
ens3-static  ec2c4992-e556-4ddc-abcb-194c90e45b00  ethernet  -- 
[root@localhost ~]# ifconfig
ens33: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 192.168.181.149  netmask 255.255.255.0  broadcast 192.168.181.255
        ....

更改链接配置

变更链接配置的设置,使用nmcli connection show <connection name>查看链接属性,基本属性中左边的名称都可以被变更

 
[root@localhost ~]# nmcli connection show ens33-static
...
connection.autoconnect:                 yes
...
ipv4.method:                            manual
...
# 变更上述两条属性
[root@localhost ~]# nmcli connection modify ens3-static connection.autoconnect no ipv4.method auto
...
connection.autoconnect:                 no
...
ipv4.method:                            auto
...

ifconfig/ifup/ifdown

这三个命令都是控制网卡的命令,但是ifupifdown只能针对/etc/sysconfig/network-scripts/if-xxx文件启停配置,如果想配置网卡的参数,只能使用ifconfig

配置临时IP地址

使用ifconfig配置一个临时IP地址,这个IP地址会在系统重启后失效,如果想永久生效,就去/etc/sysconfig/network-scripts/中拷贝原网卡设备的配置文件,然后加上子接口数字。例如: cp ifcfg-eth0 ifcfg-eth0:1

 
# 配置子接口
ifconfig <device name>:<sub number> <ipv4 address> netmask <full netmask> up
# 操作
[root@localhost ~]# ifconfig ens33:1 192.168.181.139 netmask 255.255.255.0 up
[root@localhost ~]# ifconfig
ens33: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 192.168.181.149  netmask 255.255.255.0  broadcast 192.168.181.255
        inet6 fe80::c8bb:3f6e:7de0:5119  prefixlen 64  scopeid 0x20<link>
        ether 00:0c:29:57:de:32  txqueuelen 1000  (Ethernet)
        RX packets 4728  bytes 517600 (505.4 KiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 2943  bytes 513551 (501.5 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

ens33:1: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 192.168.181.139  netmask 255.255.255.0  broadcast 192.168.181.255
        ether 00:0c:29:57:de:32  txqueuelen 1000  (Ethernet)

启停网卡

 
[root@localhost ~]# ifdown ens33
Device 'ens33' successfully disconnected.
[root@localhost ~]# ifup ens33
Connection successfully activated .....

路由

查看系统的路由,并手动进行配置,可以达到多个网卡多个ip合理出口的目的

查看路由

 
[root@localhost ~]# 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.181.0   0.0.0.0         255.255.255.0   U     100    0        0 ens33

新增路由

 
[root@localhost ~]# ip route add 192.168.1.0/24 dev ens33
[root@localhost ~]# 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.1.0     0.0.0.0         255.255.255.0   U     0      0        0 ens33
192.168.181.0   0.0.0.0         255.255.255.0   U     100    0        0 ens33

删除路由

 
[root@localhost ~]# ip route del 192.168.1.0/24
[root@localhost ~]# 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.181.0   0.0.0.0         255.255.255.0   U     100    0        0 ens33

新增默认网关

 
[root@localhost ~]# 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.181.0   0.0.0.0         255.255.255.0   U     100    0        0 ens33
[root@localhost ~]# 
[root@localhost ~]# ip route del default  # 删除默认的默认路由
[root@localhost ~]# route
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
192.168.181.0   0.0.0.0         255.255.255.0   U     100    0        0 ens33
[root@localhost ~]# ip route add default dev ens33  # 新增默认路由
[root@localhost ~]# route
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
default         0.0.0.0         0.0.0.0         U     0      0        0 ens33
192.168.181.0   0.0.0.0         255.255.255.0   U     100    0        0 ens33
[root@localhost ~]# 

其他网络命令

其他的网络调试命令

使用telnet测试端口

 
# 端口未开启
[root@localhost ~]# telnet 127.0.0.1 80 
Trying 127.0.0.1...
telnet: connect to address 127.0.0.1: Connection refused
# 端口开启
[root@localhost ~]# telnet 127.0.0.1 22
Trying 127.0.0.1...
Connected to 127.0.0.1.
Escape character is '^]'.
SSH-2.0-OpenSSH_7.4
^C    # 会卡在这,按ctrl+c终止
Connection closed by foreign host.
[root@localhost ~]# 

查看端口占用的对应进程号

找到那个进程占用了端口,配合ps -ef | grep <pid>命令来查找对应的程序

 
# 示例:查看22号端口的占用情况
[root@localhost ~]# lsof -i:22
COMMAND   PID USER   FD   TYPE DEVICE SIZE/OFF NODE NAME
sshd     7166 root    3u  IPv4  40370      0t0  TCP *:ssh (LISTEN)
sshd     7166 root    4u  IPv6  40454      0t0  TCP *:ssh (LISTEN)
sshd     7596 root    3u  IPv4  43892      0t0  TCP localhost.localdomain:ssh->192.168.181.1:57153 (ESTABLISHED)
sshd     8953 root    3u  IPv4  48155      0t0  TCP localhost.localdomain:ssh->192.168.181.1:57424 (ESTABLISHED)
sshd    10792 root    3u  IPv4  54300      0t0  TCP 192.168.181.140:ssh->192.168.181.1:58085 (ESTABLISHED)

指定ping命令的次数

 
[root@localhost ~]# ping -c 4 127.0.0.1
PING 127.0.0.1 (127.0.0.1) 56(84) bytes of data.
64 bytes from 127.0.0.1: icmp_seq=1 ttl=64 time=0.093 ms
64 bytes from 127.0.0.1: icmp_seq=2 ttl=64 time=0.072 ms
64 bytes from 127.0.0.1: icmp_seq=3 ttl=64 time=0.071 ms
64 bytes from 127.0.0.1: icmp_seq=4 ttl=64 time=0.054 ms

--- 127.0.0.1 ping statistics ---
4 packets transmitted, 4 received, 0% packet loss, time 3000ms
rtt min/avg/max/mdev = 0.054/0.072/0.093/0.016 ms
[root@localhost ~]# 
  • 3
    点赞
  • 53
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值