Linux下的ip命令常用方法
net-tools和iproute2的大致对比:
ifconfig网卡常用操作
ifconfig临时设置IP和掩码
# 设置IP和掩码
ifconfig eth0 192.168.5.40 netmask 255.255.255.0
ifconfig给网卡设置临时IP(重启后失效)
# 给网卡设置临时IP
ifconfig eth0 192.168.12.22
route添加路由和网关
# 添加路由和网关
route add -net 10.0.0.0 netmask 255.255.255.0 gw 192.168.0.1
route临时设置网关
# 添加网关
route add default gw <网关ip>
route add-host<指定ip> gw <网关ip>
route add-net <指定网段> netmask <子网掩码> gw <网关ip>
route查看路由
# 查看路由
route -n
ifup/ifdown重启指定网卡
# 启动网卡
ifup <接口>
# 关闭网卡
ifdown <接口>
# 重启指定网卡
ifdown eth0 && ifup eth0
iproute2常用命令
使用ip
命令配置网络,重启
后不会生效
。
参考地址 https://linux.cn/article-3144-1.html
参考地址 https://sites.google.com/site/linuxxuexi/wang-luo-an-quan/ip-ming-ling-shou-ce-si-
RHEL8
已经默认不自带ifconfig
命令,默认自带的是ip
命令.
如果当前网卡有NetwrokManager
的配置文件,那么ifconfig
给网卡配置地址,相当于不生效.
RHEL8
中弃用的命令:
ifconfig
– 已被 ip a
命令取代。
arp
– 已被 ip neighbor (ip n)
命令取代。
route
– 由 ip route (ip r)
命令取代。
iptunnel
– 由 ip tunnel
命令取代。
nameif
– 由 ip link
命令替换。
netstat
– 由 ss
命令替换。
查看ip命令属于哪个包
# 查看ip命令属于哪个包
rpm -qf $(which ip)
查看网卡相关命令
# 查看所有网卡ip地址
ip a
# 查看指定网卡ip地址
ip a show 网卡名
# 显示up状态(激活状态)的网卡信息
ip link
# 显示摘要信息
ip -s link
# 显示指定网卡的摘要信息
ip -s link show ens160
# 查看网卡
ip netns ls
# 查看帮助
ip --help
查看arp表
相当于arp -a
# arp地址解析信息ip>mac地址
ip n
ip neigh
配置ip地址
临时
配置IP,重启
后临时ip会清空
# 临时配置IP地址
ip addr [ add | del ] address dev interface-name
# ip a [ add | del ] ip地址/位 dev 网卡
ip a add 192.168.0.10/24 dev enp3s0
# 查看ip是否添加
ip a show dev enp3s0
# 为一个网卡临时配置多个IP--多次执行即可
ip address add 192.168.2.223/24 dev enp4s0
ip address add 192.168.4.223/24 dev enp4s0
# 查看ip是否添加
ip a show dev enp4s0
临时配置静态路由
https://zhuanlan.zhihu.com/p/619838356
# 常用路由命令
ip route [ add | del | change | append | replace ] destination-address
查看路由
# 查看默认网卡ip
ip r
# 查看路由信息
ip route show
查询ip的路由决策
# 查看10.80.163.149的路由决策
ip route get 10.80.163.149
添加静态路由
# 添加路由
ip route add
# 在主机地址中添加一个静态路由
## ip route add 目标主机IP dev 接口
ip route add 192.168.2.1 dev gre1
## ip route add 目标主机IP via 网关 dev 接口
ip route add 192.168.2.1 via 10.0.0.1 dev eth0
# 在主机网段中添加一个静态路由
ip route add 目标主机/位 via 网关 dev 接口
ip route add 172.20.0.0/14 via 172.20.143.57 dev eth0
删除路由
# 删除路由
ip route del
# 示例:
## ip route del 目标主机 dev 接口
ip route del 10.89.64.0/24 dev gre1
## ip route del 目标主机 via 网关 dev 接口
ip route del 10.89.64.0/24 via 10.89.64.254 dev $INTERFACE
查看Linux网卡物理连接情况
https://www.linuxcool.com/mii-tool
# 查看Linux网卡物理连接情况
mii-tool -v eth0
查看网关
查看网关使用route命令,加-n参数不解析域名,速度很快
# 查看网关
ip route
netstat -rn
## -n 不解析域名
route -n
ip route show default
查看dns
# 查看dns
cat /etc/resolv.conf
/etc/resolv.conf 增强配置解释
# /etc/resolv.conf文件中的参数
## search DNS搜索域
## 解析主机名时会自动加上 .tb.net 后缀进行尝试。
search tb.net
# options: 指定后续选项的开始
## timeout: 指定DNS查询的超时时间(单位为秒)
## attempts:指定 DNS 查询的尝试次数
## rotate: 指定在多个DNS服务器配置中轮换使用,实现负载均衡
## single-request-reopen 异常响应后重开新socket来发送DNS请求,有助于解决防火墙不允许DNS请求和响应通过同一个socket的问题
options timeout:1 attempts:1 rotate single-request-reopen
配置永久静态路由
https://www.xxshell.com/3063.html
将路由永久
写到配置文件
中,重启
网卡永久生效
。
在/etc/sysconfig/network-scripts
目录下创建一个route-ethx
的文件,ehtX
就是对应的dev 接口名
。
格式如下:
# 给eth0添加一个默认网关
# 目标主机/子网前缀 via 网关 dev 接口
0.0.0.0/0 via 11.11.10.2 dev eth0
启动/关闭网卡
# 启动网卡
ip link set etho up
# 停掉网卡
ip link set etho down
临时清空网卡地址
# 临时清空网卡地址
ip flush ens160
# 查看网卡配置
nmcli c show
## 发现网卡配置文件还在,但是IP没了
# 重新激活ens160网卡配置
nmcli c up ens160
# 查看ip地址又有了
ip a
ip隧道
# ip隧道
ip tunnel
# 多播地址管理
ip maddr
[rhel8 root ~]# ip maddr
1: lo
inet 224.0.0.1
inet6 ff02::1
inet6 ff01::1
2: ens160
link 01:00:5e:00:00:01
link 33:33:00:00:00:01
link 33:33:ff:d6:39:a8
inet 224.0.0.1
inet6 ff02::1:ffd6:39a8
inet6 ff02::1
inet6 ff01::1