ip命令规范
从centos7以前我们一直使用ifconfig命令来执行网络相关的任务,比如检查和配置网卡信息,但是ifconfig已经不再被维护,并且在最近版本的Linux中被废除了!ifconfig命令已经被ip命令所代替了。
ip 命令跟 ifconfig 命令有些类似,但是强力的多,他有许多新功能。ip 命令完成很多ifconfig命令无法完成的任务。
本教程将会讨论ip命令的12中最常用法,让我们开始吧
案例1:检查网卡信息
- 检查网卡的诸如IP地址,子网等网络信息,使用ip addr show
[root@ecs-c286]$ ip addr show
或
[root@ecs-c286]$ ip a s
[root@ecs-c286]$ ip a
- 如果显示系统中所有可用网卡的相关网络信息,不过如果你想查看某块网卡的信息,则命令为:
[root@ecs-c286 ~]# ip a s eth0
案例2:启动/禁用网卡
- 使用ip命令来启用一个被禁用的网卡:
[root@ecs-c286 ~]# ip link set eth0 up
- 而要禁用网卡则使用down触发器:
[root@ecs-c286 ~]# ip link set eth0 down
案例3:为网卡分配IP地址以及其他网络信息
- 要为网卡分配IP地址,我们使用下面命令:
ip addr add 192.169.1.250/255.255.255.0 dev eth1
- 也可以使用ip命令来设置广播地址。默认是没有设置广播地址的,设置广播地址的命令为:
ip addr add broadcast 192.168.1.255 dev eth1
- 我们也可以使用下面命令来根据IP地址设置标准的广播地址:
ip addr add 192.168.1.10/24 brd + dev eth1
例如上面例子所示,我们可以使用brd代替broadcast来设置广播地址
案例4:删除网卡中配置的IP地址
- 若想从网卡中删除掉某个IP,使用如下ip命令:
ip addr del 192.168.1.10/24 dev eth1
案例5:为网卡添加别名(假设网卡名为eth0)
- 添加别名,即为网卡添加不止一个ip,执行下面命令:
ip addr add 192.168.1.20/24 dev eth0 label eth0:1
案例6:检查路由/默认网卡的信息
- 查看路由信息会给我们显示数据包到达目的地的路由路径。要查看网络路由信息,执行下面命令:
ip route show
- 在上面输出结果中,我们能够看到所有网卡上数据包的路由信息。我们也可以获取特定IP的路由信息,方法是:
ip route get 192.168.1.1
添加静态路由
- 我们也可以使用ip来修改数据包的默认路由。方法是使用 ip route 命令:
ip route add default via 192.168.1.150/24
- 这样所有的网络数据包通过192.168.1.150 来转发,而不是添加默认路由了。若要修改某个网卡的默认路由,执行:
ip route add 172.16.32.32 via 192.168.1.150/24 dev eth0
案例8:删除默认路由
- 要删除之前设置的默认路由
ip route del 192.168.1.150/24
注意:用上面方法修改的默认路由只是临时有效的,在系统重启后所有的改动都会丢失。要永久修改路由,需要修改或者创建route-eth0文件。将下面这行加入其中:
vi /etc/sysconfig/network-scripts/route-eth1
172.16.32.32 via 192.168.0.150/24 dev eth1
保存并退出该文件。
若你使用的是基于 Ubuntu 或 debian 的操作系统,则该要修改的文件为 /etc/network/interfaces,然后添加 ip route add 172.16.32.32 via 192.168.1.150/24 dev eth1 这行到文件末尾。
案例9:检查所有的ARP记录
ARP,是地址解析协议的缩写,用于将ip地址转换为物理地址(也就是MAC地址)。所有的ip和其对应的MAC明细都存储在一张表中,这张表叫做arp缓存。
- 要查看ARP缓存中的记录,即连接到局域网中设备的MAC地址,则使用如下ip命令:
ip neigh
案例10:修改ARP记录
- 删除ARP记录的命令为:
ip neigh del 192.168.1.106 dev eth1
- 若想往ARP缓存中添加新记录,则命令为:
ip neigh add 192.168.1.150 lladdr 33:1g:75:37:r3:84 dev eth1 nud perm
这里nud的意思是“neghbour state”(网络邻居状态),他的值可以是:
- perm - 永久有效并且只能被管理员删除
- noarp - 记录有效,但在生命周期过期后就允许被删除了
- stale - 记录有效,但可能已经过期
- reachable - 记录有效,但超时后就失效了
查看网络统计信息
通过ip命令还能查看网络统计信息,比如所有网卡上传输的字节数和报文数,错误或者丢弃的报文数等,使用ip -s link 命令来查看:
ip -s link
获取帮助
若你想查看某个上面例子中没有的选项,那么你可以查看帮助。事实上对任何命令你都可以寻求帮助。要列出 ip 命令的所有可选项,执行:
ip help
记住,ip 命令是一个对 Linux 系统管理来说特别重要的命令,学习并掌握它能够让配置网络变得容易。
ip命令规范的更多相关文章
- ip命令和ifconfig命令(转载)
Linux的ip命令和ifconfig类似,但前者功能更强大,并旨在取代后者.使用ip命令,只需一个命令,你就能很轻松地执行一些网络管理任务.ifconfig是net-tools中已被废弃使用的一个命 ...
- dos 固定ip命令
dos 固定ip命令 ***************************************************************************************** ...
- Linux下的ip命令,除了ifconfig还有很多
linux的ip命令和ifconfig类似,但前者功能更强大,并旨在取代后者.使用ip命令,只需一个命令,你就能很轻松地执行一些网络管理任务.ifconfig是net-tools中已被废弃使用的一个命 ...
- linux包之iproute之ip命令
[root@localhost ~]# rpm -qf /sbin/ipiproute-2.6.32-31.el6.x86_64ip 是个命令, ip 命令的功能很多!基本上它整合了 ifconfig ...
- [网络配置相关]——ifconfig命令、ip命令、route命令
ifconfig命令 1. 查看已被激活的网卡的详细信息 # ifconfig eth0 Link encap:Ethernet HWaddr 00:30:67:F2:10:CF inet addr: ...
- linux下ip命令用法
配置数据转发,可以通过 1.路由转发即用用路由器实现: 2.使用NAT转发: 简单的说: 路由表内的信息只是指定数据包在路由器内的下一个去处.并不能改变数据包本身的地址信息.即它只是“换条路而已,目的 ...
- IP命令
ip命令是Linux下较新的功能强大的网络配置工具. 1 功能 ip命令用来显示或操纵Linux主机的路由.网络设备.策略路由和隧道. 2用法 Usage: ip [ OPTIONS ] OBJECT ...
- 试试Linux下的ip命令,ifconfig已经过时了
linux的ip命令和ifconfig类似,但前者功能更强大,并旨在取代后者.使用ip命令,只需一个命令,你就能很轻松地执行一些网络管理任务.ifconfig是net-tools中已被废弃使用的一个命 ...
- Linux:Day11(下) ip命令及配置文件方式
配置Linux网络属性:ip命令 ip [ OPTIONS ] OBJECT { COMMAND | help } OBJECT := { link | addr | route } link OBJ ...
随机推荐
- Java - 字符串操作
字符串常用操作如下 public static void main(String[] args) { /** * 创建字符串 */ String s1="zifuchuan123" ...
- varchar(n)
MySQL5.0.3之前varchar(n)这里的n表示字节数MySQL5.0.3之后varchar(n)这里的n表示字符数,比如varchar(200),不管是英文还是中文都可以存放200个根据字符 ...
- sqli-libs(54-65关)
Less_54 Less-54:使用’’包裹 对输入的次数做了限制,必须在10次请求之内获取信息,否则会刷新表名 输入:?Id=1’ order by 3--+ 查看有多少列: 输入 ?id=-1 ...
- 数据库程序接口——JDBC——功能第二篇——数据源之C3P0数据源
综述 C3P0由三部分内容组成.实例化对象,各配置项的含义,以及加载配置项的方式. 实例化对象的方式有三种,第一种方式直接new ComboPooledDataSource,第二种方式使用工厂类Dat ...
- .NET core 部署到Docker +Docker Protainer管理实现
.NET core 部署到Docker +Docker Protainer管理实现 上次说到将.net core的应用程序发布到Linux中(https://www.cnblogs.com/Super ...
- toString()和toLocaleString()方法有什么区别和联系
toString()和toLocaleString()有什么区别 偶然之间用到这两个方法 然后在数字转换成字符串的时候,并没有感觉这两个方法有什么区别,如下: 1 2 3 4 5 6 7 8 var ...
- XFire调用CXF参数为Null的问题
最近,领导分配了一个任务,做接口联调.情况是这样,对方客户升级了接口采用CXF,而我们还是用的XFire1.2.6,首先就遇到了这个问题:XFire调用CXF参数为Null的问题 . 在网上搜了一大堆 ...
- 时间戳,日期,string互转
import timeimport datetimeimport operatordef makeStamp(y,m,d,format='%Y-%m-%d'): """m ...
- Django 创建app 应用,数据库配置
一.create project mkdir jango cd jango 目录创建project myapp django-admin startproject myapp 2.在给project创 ...
- mybaitis
resultType="java.util.HashMap" SELECT DISTINCT c.COMPANY_LEVEL, ) over ( partition BY COMP ...