ip 命令是一个新的网络命令行实用程序,用于在 Linux 系统上为网络接口分配 IP 地址或配置/更新网络配置。
它是 iproute2 软件包的一部分,并提供多项网络管理任务,例如打开或关闭网络接口、分配和删除 IP 地址和路由、管理 ARP 缓存等等。
ip命令与旧的ifconfig 命令非常相似,但它的功能要强大得多,添加了更多的功能和能力。
如何配置静态 IP 地址 Internet 协议 (IPv4)
要在 Linux 中配置静态 IP 地址, 你需要更新或编辑网络配置文件以将静态 IP 地址分配给系统。你必须有root的权限(sudo切换也可以)。
适用于 RHEL/CentOS/Fedora 和 Rocky Linux/AlmaLinux
代码语言:javascript复制编辑(
eth0
或eth1
)
# vim /etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE="eth0"
BOOTPROTO=static
ONBOOT=yes
TYPE="Ethernet"
IPADDR=192.168.0.111
NAME="System eth0"
HWADDR=00:0C:29:28:FD:4C
GATEWAY=192.168.0.1
对于 Ubuntu/Debian/Linux Mint
代码语言:javascript复制给
eth0
网卡设置静态 IP 地址 。编辑配置文件/etc/network/interfaces
永久更改。
# vim /etc/network/interfaces
auto eth0
iface eth0 inet static
address 192.168.0.111
netmask 255.255.255.0
gateway 192.168.0.1
代码语言:javascript复制重启动网络服务。
# systemctl restart NetworkManager.service
Or
# /etc/init.d/networking restart
1. 分配 IP 地址
代码语言:javascript复制以下命令用于为
eth1
网卡接口分配 IP 地址
# ip addr add 192.168.0.111 dev eth1
Note:
注意,所有这些设置将在系统重新启动后丢失。
2. 查看 IP 地址
代码语言:javascript复制要获取网络接口的深度信息,如 IP 地址、MAC 地址信息
# 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.0.111/24 brd 11255 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.0.111/24 scope global eth1
inet6 fe80::20c:29ff:fe28:fd56/64 scope link
valid_lft forever preferred_lft forever
3. 删除 IP 地址
代码语言:javascript复制删除eth1网卡分配的 IP 地址
# ip addr del 192.168.0.111/24 dev eth1
4. 启用网络接口
代码语言:javascript复制激活
eth1
网络接口。
# ip link set eth1 up
5. 如何禁用网络接口
代码语言:javascript复制禁用
eth1
网络接口。
# ip link set eth1 down
6. 如何查看路由表?
代码语言:javascript复制输入以下命令查看系统的路由表信息。
# ip route show
default via 192.168.0.1 dev eth0 proto dhcp metric 100
192.168.0.115/24 dev eth1 proto kernel scope link src 111130 metric 1
192.168.0.111/24 dev eth0 proto kernel scope link src 112
7. 如何添加静态路由
代码语言:javascript复制为什么需要添加静态路由或手动路由,因为流量一定不能通过默认网关。我们需要添加静态路由来指定目标网络
# ip route add 0/24 via 192.168.0.1 dev eth0
8. 删除静态路由
代码语言:javascript复制删除分配的静态路由
# ip route del 0/24
9. 永久添加静态路由
系统重启后,上述所有路由都将丢失。要添加永久静态路由,需要编辑文件
/etc/sysconfig/network-scripts/route-eth0
适用于 RHEL/CentOS/Fedora 和 Rocky Linux/AlmaLinux
代码语言:javascript复制# vim /etc/sysconfig/network-scripts/route-eth0
0/24 via 192.168.0.1 dev eth0
默认情况下
route-eth0
文件将不存在,需要创建。
对于 Ubuntu/Debian/Linux Mint
代码语言:javascript复制打开文件
/etc/network/interfaces
最后添加静态路由。
# vi /etc/network/interfaces
auto eth0
iface eth0 inet static
address 192.168.0.111
netmask 255.255.255.0
gateway 192.168.0.1
#########{静态路由}###########
up ip route add 0/24 via 192.168.0.1 dev eth0
代码语言:javascript复制重新启动网络服务。
# systemctl restart NetworkManager.service
Or
# /etc/init.d/networking restart
10. 添加默认网关
代码语言:javascript复制可以全局指定默认网关,也可以为特定接口的配置文件指定默认网关。
# ip route add default via 192.168.0.1
相关文章
linux网络管理的20个netstat命令