ip命令是一个新的网络命令行实用程序,用于在Linux系统上为网络接口分配 IP地址或配置/更新有用的网络变量。
ip命令是iproute2软件包的一部分,它提供多项网络管理任务,例如打开或关闭网络接口、分配和删除IP地址和路由、管理 ARP缓存等。
ip命令与旧的ifconfig 命令非常相似,但它的功能要强大得多,而且添加了更多的功能和扩展能力。
在所有当下Linux发行版中,ifconfig命令已被弃用并由ip命令所取代。但是,ifconfig命令仍然有效并且可用于大多数Linux 发行版当中。
本文将简单汇总整理10个配置网络接口的“IP”命令,如果大家需要自行设置的话,务必在操作之前做好备份工作。
配置静态IP地址Internet协议(IPv4)
要想在Linux系统中配置静态IP地址,则需要更新或编辑网络配置文件以便将静态IP地址分配给系统。要实现此操作,必须是具有来自终端或命令提示符su命令的超级用户。
适用于RHEL/CentOS/Fedora和Rocky Linux/AlmaLinux
使用文本编辑器打开并编辑网络配置文件(eth0或eth1)。例如,为eth0接口分配IP地址如下。
[root@idccoupon ~]# vi /etc/sysconfig/network-scripts/ifcfg-eth0
输出如下:
DEVICE="eth0"
BOOTPROTO=static
ONBOOT=yes
TYPE="Ethernet"
IPADDR=192.168.66.2
NAME="System eth0"
HWADDR=00:0C:28:28:FD:3B
GATEWAY=192.168.66.1
适用于Ubuntu/Debian/Linux Mint
编辑配置文件/etc/network/interfaces将静态IP地址分配给eth0接口以进行永久性更改,如下命令。
auto eth0
iface eth0 inet static
address 192.168.66.2
netmask 255.255.255.0
gateway 192.168.66.1
接下来,使用以下命令输入详细信息后重新启动网络服务。
systemctl restart NetworkManager.service
或者
/etc/init.d/networking restart
通过以上过程就可以在Linux系统中设置静态IP地址了,下面简单分析10个有用的“ip”命令。
配置网络接口的“IP”命令
1、为特定接口分配IP地址
以下命令用于将IP地址动态分配给特定接口 ( 例如eth1 )。
ip addr add 192.168.66.5 dev eth1
$ sudo ip addr add 192.168.66.5 dev eth1
注意:系统重启后所有的这些设置将会失效。
2、检查IP地址
要获取网络接口信息,例如IP和MAC地址信息,可以使用以下命令。
ip addr show
$ sudo ip addr show
输入如下
1: lo: mtu 16436 qdisc noqueue state UNKNOWN
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever
2: eth0: mtu 1500 qdisc pfifo_fast state UNKNOWN qlen 1000
link/ether 00:0c:29:28:fd:4c brd ff:ff:ff:ff:ff:ff
inet 192.168.66.2/24 brd 192.168.66.255 scope global eth0
inet6 fe80::20c:29ff:fe28:fd4c/64 scope link
valid_lft forever preferred_lft forever
3: eth1: mtu 1500 qdisc pfifo_fast state UNKNOWN qlen 1000
link/ether 00:0c:29:28:fd:56 brd ff:ff:ff:ff:ff:ff
inet 192.168.66.5/24 scope global eth1
inet6 fe80::20c:29ff:fe28:fd56/64 scope link
valid_lft forever preferred_lft forever
3、移除IP地址
以下命令将从特定的接口 ( eth1 ) 中删除分配的IP地址,命令如下:
ip addr del 192.168.66.5/24 dev eth1
$ sudo ip addr del 192.66.50.5/24 dev eth1
4、启用网络接口
带有“ up ”标志的接口名称(如eth1)将启用网络接口,例如,以下命令将启用eth1网络接口。
ip link set eth1 up
$ sudo ip link set eth1 up
5、禁用网络接口
带有“ down ”标志的接口名称(如eth1)将禁用网络接口,例如,以下命令将禁止启用eth1网络接口。
ip link set eth1 down
$ sudo ip link set eth1 down
6、查看路由表
输入以下命令将会查看系统的路由表信息,命令如下:
ip route show
$ sudo ip route show
样本输出
10.10.20.0/24 通过 192.168.50.100 dev eth0
192.168.160.0/24 dev eth1 proto 内核范围链接 src 192.168.160.130 metric 1
192.168.50.0/24 dev eth0 proto 内核范围链接 src 192.168.50.2
169.254.0.0/16 dev eth0 范围链接指标 1002
默认通过 192.168.50.1 dev eth0 proto static
7、添加静态路由
为什么需要添加静态路由或人工路由,因为流量一定是不能够通过默认网关的,所以需要添加静态/人工路由来传递流量到目的地。
ip route add 10.10.30.0/24 via 192.168.66.100 dev eth0
$ sudo ip route add 10.10.30.0/24 via 192.168.66.100 dev eth0
8、删除静态路由
要删除分配的静态路由,只需输入以下命令即可:
ip route del 10.10.30.0/24
$ sudo ip route del 10.10.30.0/24
9、设置永久性静态路由
系统重启后,上述所有路由设置都将丢失。所以如果想要添加永久性静态路由,请编辑/etc/sysconfig/network-scripts/route-eth0(eth0静态路由存储)文件:
适用于RHEL/CentOS/Fedora和Rocky Linux/AlmaLinux
vi /etc/sysconfig/network-scripts/route-eth0
添加以下内容并保存退出,默认情况下,route-eth0文件不存在,需要创建。
10.10.30.0/24 via 192.168.66.100 dev eth0
适用于Ubuntu/Debian/Linux Mint
打开文件/etc/network/interfaces并在最后添加永久性静态路由,IP地址因个人环境而异。
$ sudo vi /etc/network/interfaces
auto eth0
iface eth0 inet static
address 192.168.66.2
netmask 255.255.255.0
gateway 192.168.66.100
###{Static Route}
up ip route add 10.10.30.0/24 via 192.168.66.100 dev eth0
接下来,使用以下命令输入详细信息后重新启动网络服务。
systemctl restart NetworkManager.service
或者
/etc/init.d/networking restart
10、添加默认网关
可以全局指定默认网关,也可以为特定于接口的配置文件指定默认网关。设置默认网关的优势在于如果系统中存在多个 NIC(网卡),你可以按下方所示命令动态的添加默认网关。
ip route add default via 192.168.66.100
$ sudo ip route add default via 192.168.66.100
总之,以上就是简单分享整理的10个配置网络接口“IP”命令,仅供参考。在租用国外服务器的时候,网络接口配置是一项基本的功能,如果不能成功的配置,那么就无法使用多个IP地址或者不能进行上网,那就比较尴尬了。
当然,以上仅仅整理了比较常见的几个“ip”命令,其实ip功能命令远不止这些,如果想了解更多ip命令,可以在终端/命令提示符输入man ip命令进行查看。