配置网络接口的“IP“命令

ip命令是一个新网络命令行工具,它用于在LInux系统中分配一个IP地址给一个网络接口或者配置/更新有用的网络变量。它是iproute软件包的组成部分,并且提供了若干网络管理任务,诸如开启或关闭网络接口,分配和移除IP地址和路由,管理ARP缓存等。

[root@rockygu ~]# dnf whatprovides "ip"
Last metadata expiration check: 2:42:10 ago on Mon 01 Aug 2022 07:45:22 PM CST.
iproute-5.15.0-4.el8.x86_64 : Advanced IP routing and network device configuration tools
Repo        : @System
Matched from:
Filename    : /usr/sbin/ip
Provide    : /sbin/ip

ip命令非常类似于老的ifconfig命令,但由于添加了更多功能和能力,它要强大得多。ifconfig命令在所有现代Linux发行版中已经被启用并且被ip命令替代。然而,ifconfig命令对于大部分linux发行版仍然可用。

注意:在进行任何更改前请备份配置文件。

如何配置静态IP地址网络协议(IPv4)

要在Linux中配置静态IP地址,你需要更新或编辑网络配置文件来分配一个静态IP地址给系统。你必须是一个用su命令从终端或者命令提示的超级用户。

对于RHEL/CentOS/Fedora和Rocky Linux/AlmaLinux

用编辑器打开并且编辑网络配置文件。例如,分配IP地址给enp3s0接口。

[root@rockygu ~]# vim /etc/sysconfig/network-scripts/ifcfg-enp3s0

输出结果:

TYPE=Ethernet
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=static
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=enp3s0
UUID=aed3f17e-747c-4a13-b421-407bb0a57f69
DEVICE=enp3s0
IPADDR=192.168.3.30
PREFIX=24
ONBOOT=yes

在设置了配置后,重启网络服务。

[root@localhost network-scripts]# systemctl restart NetworkManager.service

1、如何分配一个IP地址给一个特定端口

以下命令将用

[root@localhost ~]# ip addr add 192.168.3.31 dev enp3s0

于立即分配一个IP地址给一个特定接口(enp3s0)。

[root@localhost ~]# ip addr show enp3s0
2: enp3s0:  mtu 1500 qdisc mq state UP group default qlen 1000
    link/ether c4:00:ad:54:a3:23 brd ff:ff:ff:ff:ff:ff
    inet 192.168.3.30/24 brd 192.168.3.255 scope global noprefixroute enp3s0
       valid_lft forever preferred_lft forever
    inet 192.168.3.31/32 scope global enp3s0
       valid_lft forever preferred_lft forever
    inet6 fe80::53ff:e021:58e4:1629/64 scope link noprefixroute
       valid_lft forever preferred_lft forever

2、如何检测IP地址

要获取如IP地址、MAC地址信息的网卡接口的信息,使用以下命令。

[root@localhost ~]# ip addr show
1: lo:  mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host
       valid_lft forever preferred_lft forever
2: enp3s0:  mtu 1500 qdisc mq state UP group default qlen 1000
    link/ether c4:00:ad:54:a3:23 brd ff:ff:ff:ff:ff:ff
    inet 192.168.3.30/24 brd 192.168.3.255 scope global noprefixroute enp3s0
       valid_lft forever preferred_lft forever
    inet 192.168.3.31/32 scope global enp3s0
       valid_lft forever preferred_lft forever
    inet6 fe80::53ff:e021:58e4:1629/64 scope link noprefixroute
       valid_lft forever preferred_lft forever
...
8: eno1:  mtu 1500 qdisc fq_codel state UP group default qlen 1000
    link/ether 00:19:0f:3d:c9:3d brd ff:ff:ff:ff:ff:ff
    inet 192.168.50.74/24 brd 192.168.50.255 scope global noprefixroute dynamic eno1
       valid_lft 86072sec preferred_lft 86072sec
    inet6 fe80::755d:a1a5:8380:e9f9/64 scope link noprefixroute
       valid_lft forever preferred_lft forever
...

3、如何移除一个IP地址

以下命令将从指定接口(enp3s0)移除一个分配的IP地址。

[root@localhost ~]# ip addr del 192.168.3.30/24 dev enp3s0
[root@localhost ~]# ip addr show enp3s0
2: enp3s0:  mtu 1500 qdisc mq state UP group default qlen 1000
    link/ether c4:00:ad:54:a3:23 brd ff:ff:ff:ff:ff:ff
    inet 192.168.3.31/32 scope global enp3s0
       valid_lft forever preferred_lft forever
    inet6 fe80::53ff:e021:58e4:1629/64 scope link noprefixroute
       valid_lft forever preferred_lft forever

4、如何启用网络接口

接口名称(enp3s0)的"up"标记将启用一个网络接口。例如,以下命令将激活enp3s0网卡接口。

[root@localhost ~]# ip link set enp3s0 down
[root@localhost ~]# ip addr show enp3s0
2: enp3s0:  mtu 1500 qdisc mq state DOWN group default qlen 1000
    link/ether c4:00:ad:54:a3:23 brd ff:ff:ff:ff:ff:ff

5、如何禁用网络接口

接口名称(enp3s0)的"down"标记禁用一个网络接口。例如,以下命令将禁用enp3s0网络接口。

[root@localhost ~]# ip link set enp3s0 up
[root@localhost ~]# ip addr show enp3s0
2: enp3s0:  mtu 1500 qdisc mq state UP group default qlen 1000
    link/ether c4:00:ad:54:a3:23 brd ff:ff:ff:ff:ff:ff
    inet 192.168.3.30/24 brd 192.168.3.255 scope global noprefixroute enp3s0
       valid_lft forever preferred_lft forever
    inet6 fe80::53ff:e021:58e4:1629/64 scope link noprefixroute
       valid_lft forever preferred_lft forever

6、如何检测路由

输入以下命令检测系统的路由表信息。

[root@localhost ~]# ip route show
default via 192.168.50.1 dev eno1 proto dhcp metric 100
192.168.3.0/24 dev enp3s0 proto kernel scope link src 192.168.3.30 metric 101
192.168.50.0/24 dev eno1 proto kernel scope link src 192.168.50.74 metric 100
192.168.122.0/24 dev virbr0 proto kernel scope link src 192.168.122.1

7、如何添加静态路由

你为什么需要添加静态路由或者手动路由,因为那些流量一定不通过默认网关。我们需要添加静态路由使得流量从最佳路径到达目的地。

[root@localhost ~]# ip route add 10.30.40.0/24 via 192.168.3.254 dev enp3s0
[root@localhost ~]# ip route show
default via 192.168.50.1 dev eno1 proto dhcp metric 100
10.30.40.0/24 via 192.168.3.254 dev enp3s0
192.168.3.0/24 dev enp3s0 proto kernel scope link src 192.168.3.30 metric 101
192.168.50.0/24 dev eno1 proto kernel scope link src 192.168.50.74 metric 100
192.168.122.0/24 dev virbr0 proto kernel scope link src 192.168.122.1

8、如何移除静态路由

要移除分配的静态路由,只要输入以下命令。

[root@localhost ~]# ip route del 10.30.40.0/24
[root@localhost ~]# ip route show
default via 192.168.50.1 dev eno1 proto dhcp metric 100
192.168.3.0/24 dev enp3s0 proto kernel scope link src 192.168.3.30 metric 101
192.168.50.0/24 dev eno1 proto kernel scope link src 192.168.50.74 metric 100
192.168.122.0/24 dev virbr0 proto kernel scope link src 192.168.122.1

9、如何添加永久的静态路由

在系统重启后,所有以上路由将丢失。要添加永久静态路由,编辑文件/etc/sysocnfig/network-scripts/route-enp3s0。

[root@localhost network-scripts]# cat route-enp3s0
10.30.40.0/24 via 192.168.3.254 dev enp3s0

接着,在使用命令输入所有细节后,重启网络服务。

[root@localhost network-scripts]# systemctl restart NetworkManager
[root@localhost network-scripts]# ip route show
default via 192.168.50.1 dev eno1 proto dhcp metric 100
10.30.40.0/24 via 192.168.3.254 dev enp3s0
192.168.3.0/24 dev enp3s0 proto kernel scope link src 192.168.3.30 metric 101
192.168.50.0/24 dev eno1 proto kernel scope link src 192.168.50.74 metric 100
192.168.122.0/24 dev virbr0 proto kernel scope link src 192.168.122.1

10、如何添加默认网关

能够全局地或者为接口特定配置文件指定默认网关。默认网关地优势是如果我们在系统中有多块网卡。你可以用以下命令立即添加默认网关。

[root@localhost network-scripts]# ip route add default via 192.168.3.254
[root@localhost network-scripts]# ip route show
default via 192.168.3.254 dev enp3s0
default via 192.168.50.1 dev eno1 proto dhcp metric 100
10.30.40.0/24 via 192.168.3.254 dev enp3s0
192.168.3.0/24 dev enp3s0 proto kernel scope link src 192.168.3.30 metric 101
192.168.50.0/24 dev eno1 proto kernel scope link src 192.168.50.74 metric 100
192.168.122.0/24 dev virbr0 proto kernel scope link src 192.168.122.1

11、如何删除默认网关

用以下命令可以删除默认网关。

[root@localhost network-scripts]# ip route del default via 192.168.3.254
[root@localhost network-scripts]# route -n
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
0.0.0.0         192.168.50.1    0.0.0.0         UG    100    0        0 eno1
10.30.40.0      192.168.3.254   255.255.255.0   UG    0      0        0 enp3s0
192.168.3.0     0.0.0.0         255.255.255.0   U     101    0        0 enp3s0
192.168.50.0    0.0.0.0         255.255.255.0   U     100    0        0 eno1
192.168.122.0   0.0.0.0         255.255.255.0   U     0      0        0 virbr0

你可能感兴趣的:(Linux笔记,tcp/ip,网络,linux)