从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”(网络邻居状态),他的值可以是:

  1. perm - 永久有效并且只能被管理员删除
  2. noarp - 记录有效,但在生命周期过期后就允许被删除了
  3. stale - 记录有效,但可能已经过期
  4. reachable - 记录有效,但超时后就失效了

查看网络统计信息

通过ip命令还能查看网络统计信息,比如所有网卡上传输的字节数和报文数,错误或者丢弃的报文数等,使用ip -s link 命令来查看:

ip -s link

获取帮助

若你想查看某个上面例子中没有的选项,那么你可以查看帮助。事实上对任何命令你都可以寻求帮助。要列出 ip 命令的所有可选项,执行:

ip help

记住,ip 命令是一个对 Linux 系统管理来说特别重要的命令,学习并掌握它能够让配置网络变得容易。

ip命令规范的更多相关文章

  1. ip命令和ifconfig命令(转载)

    Linux的ip命令和ifconfig类似,但前者功能更强大,并旨在取代后者.使用ip命令,只需一个命令,你就能很轻松地执行一些网络管理任务.ifconfig是net-tools中已被废弃使用的一个命 ...

  2. dos 固定ip命令

    dos 固定ip命令 ***************************************************************************************** ...

  3. Linux下的ip命令,除了ifconfig还有很多

    linux的ip命令和ifconfig类似,但前者功能更强大,并旨在取代后者.使用ip命令,只需一个命令,你就能很轻松地执行一些网络管理任务.ifconfig是net-tools中已被废弃使用的一个命 ...

  4. linux包之iproute之ip命令

    [root@localhost ~]# rpm -qf /sbin/ipiproute-2.6.32-31.el6.x86_64ip 是个命令, ip 命令的功能很多!基本上它整合了 ifconfig ...

  5. [网络配置相关]——ifconfig命令、ip命令、route命令

    ifconfig命令 1. 查看已被激活的网卡的详细信息 # ifconfig eth0 Link encap:Ethernet HWaddr 00:30:67:F2:10:CF inet addr: ...

  6. linux下ip命令用法

    配置数据转发,可以通过 1.路由转发即用用路由器实现: 2.使用NAT转发: 简单的说: 路由表内的信息只是指定数据包在路由器内的下一个去处.并不能改变数据包本身的地址信息.即它只是“换条路而已,目的 ...

  7. IP命令

    ip命令是Linux下较新的功能强大的网络配置工具. 1 功能 ip命令用来显示或操纵Linux主机的路由.网络设备.策略路由和隧道. 2用法 Usage: ip [ OPTIONS ] OBJECT ...

  8. 试试Linux下的ip命令,ifconfig已经过时了

    linux的ip命令和ifconfig类似,但前者功能更强大,并旨在取代后者.使用ip命令,只需一个命令,你就能很轻松地执行一些网络管理任务.ifconfig是net-tools中已被废弃使用的一个命 ...

  9. Linux:Day11(下) ip命令及配置文件方式

    配置Linux网络属性:ip命令 ip [ OPTIONS ] OBJECT { COMMAND | help } OBJECT := { link | addr | route } link OBJ ...

随机推荐

  1. 虚拟机安装的ubuntu不能联网解决

    安装双系统从没遇到的问题,再虚拟机上遇到了不能联网的问题: 下面给出我的解决方法(win10系统.ubuntu 16.04) 我的电脑-管理-设备管理器 看是否虚拟机的虚拟网卡在: 在去设置-控制面板 ...

  2. Bugku-CTF之江湖魔头(学会如来神掌应该就能打败他了吧)

    Day39     江湖魔头 200 http://123.206.31.85:1616/ 学会如来神掌应该就能打败他了吧

  3. python 鸢尾花数据集报表展示

    import seaborn as snsimport pandas as pdimport matplotlib.pyplot as pltsns.set_style('white',{'font. ...

  4. SVN代码迁移到GITlab

    ==================================================================================================== ...

  5. jq的 on 事件委托 导致多次执行问题

    解除 这个元素 在 父级上的 click 事件委托$(msg.fatherDiv).off('click','.fangdaimg_fn2'); click事件$('.fangdaimg_fn2'). ...

  6. 03-Spring的IOC示例程序(通过类型获取对象)

    根据bean类型从IOC容器中获取bean的实例 ①test测试类 @Test public void Test02() { //获取spring容器对象 ApplicationContext app ...

  7. Kmp算法浅谈

    Kmp算法浅谈 一.Kmp算法思想 在主串和模式串进行匹配时,利用next数组不改变主串的匹配指针而是改变模式串的匹配指针,减少大量的重复匹配时间.在Kmp算法中,next数组的构建是整个Kmp算法的 ...

  8. 【Math】高数-一个有趣的旋转体体积与面积

    Go confidently in the direction of your dreams. Live the life you've imagined. 题目 设曲线 \(y = \tfrac{1 ...

  9. 聊聊、Spring自动扫描

    一.PathMatchingResourcePatternResolver 二.SimpleMetadataReaderFactory 三.实现(核心代码) private static final ...

  10. linux 命令——screen

    最近遇到一个东西aria2,这个玩意,这个是啥呢?Aria2是一个轻量级Linux下载软件,支持HTTP/HTTPS, FTP, SFTP, BitTorrent和磁力链接(官方版),公司系统插件配套 ...