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: <LOOPBACK,UP,LOWER_UP> 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: <BROADCAST,MULTICAST,UP,LOWER_UP> 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: <BROADCAST,MULTICAST,UP,LOWER_UP> 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命令进行查看。