Linux ip命令、ifconfig命令

ip 是个指令喔!并不是那个 TCP/IP 的 IP 啦!这个 ip 指令的功能可多了!基本上,他就是整合了 ifconfig 与 route 这两个指令啰~不过, ip 可以达成的功能却又多更多!真是个相当厉害的指令。如果您有兴趣的话,请自行 vi /sbin/ifup ,就知道整个 ifup 就是利用 ip 这个指令来达成的。好了,如何使用呢?让我们来瞧一瞧先!

由上面的语法我们可以知道, ip 除了可以设定一些基本的网路参数之外,还能够进行额外的 IP 协定,包括多 IP 的达成,真是太完美了!底下我们就分三个部分 (link, addr, route) 来介绍这个 ip 指令吧!


  • 关于装置介面 (device) 的相关设定: ip link
    ip link 可以设定与装置 (device) 有关的相关设定,包括 MTU 以及该网路介面的 MAC 等等,当然也可以启动 (up) 或关闭 (down) 某个网路介面啦!整个语法是这样的:

使用 ip link show 可以显示出整个装置介面的硬体相关资讯,如上所示,包括网卡位址(MAC)、MTU等等,比较有趣的应该是那个 sit0 的介面了,那个 sit0 的介面是用在 IPv4 及 IPv6 的封包转换上的,对于我们仅使用 IPv4 的网路是没有作用的。 lo 及 sit0 都是主机内部所自行设定的。而如果加上 -s 的参数后,则这个网路卡的相关统计资讯就会被列出来,包括接收 (RX) 及传送 (TX) 的封包数量等等,详细的内容与 ifconfig 所输出的结果相同的。

更新网路卡的 MTU 使用 ifconfig 也可以达成啊!没啥了不起,不过,如果是要更改‘网路卡代号、MAC 位址的资讯’的话,那可就得使用 ip 啰~不过,设定前得要先关闭该网路卡,否则会不成功。如下所示:

在这个装置的硬体相关资讯设定上面,包括 MTU, MAC 以及传输的模式等等,都可以在这里设定。有趣的是那个 address 的项目,那个项目后面接的可是硬体位址 (MAC) 而不是 IP 喔!很容易搞错啊!切记切记!更多的硬体参数可以使用 man ip 查阅一下与 ip link 有关的设定。


  • 关于额外的 IP 相关设定: ip address
    如果说 ip link 是与OSI 七层协定 的第二层资料连阶层有关的话,那么 ip address (ip addr) 就是与第三层网路层有关的参数啦!主要是在设定与 IP 有关的各项参数,包括 netmask, broadcast 等等。

看到上面那个特殊的字体吗?没错!那就是 IP 参数啦!也是 ip address 最主要的功能。底下我们进一步来新增虚拟的网路介面试看看:



  • 关于路由的相关设定: ip route
    呵呵,这个项目当然就是路由的观察与设定啰!事实上, ip route 的功能几乎与 route 这个指令差不多,但是,他还可以进行额外的参数设计,例如 MTU 的规划等等,相当的强悍啊!

如上表所示,最简单的功能就是显示出目前的路由资讯,其实跟 route 这个指令相同啦!指示必须要注意几个小东西:

  • proto:此路由的路由协定,主要有 redirect, kernel, boot, static, ra 等,其中 kernel 指的是直接由核心判断自动设定。
  • scope:路由的范围,主要是 link ,亦即是与本装置有关的直接连线。
再来看一下如何进行路由的增加与删除吧!

事实上,这个 ip 的指令实在是太博大精深了!刚接触 Linux 网路的朋友,可能会看到有点晕~不要紧啦!您先会使用 ifconfig, ifup , ifdown 与 route 即可,等以后有经验了之后,再继续回来玩 ip 这个好玩的指令吧! ^_^有兴趣的话,也可以自行参考 ethtool 这个指令喔! (man ethtool)。




ifconfig 主要是可以手动的启动、观察与修改网路介面的相关参数,可以修改的参数很多啊,包括 IP 参数以及 MTU 等等都可以修改,他的语法如下:

一般来说,直接输入 ifconfig 就会列出目前已经被启动的卡,不论这个卡是否有给予 IP ,都会被显示出来。而如果是输入 ifconfig eth0 ,则会秀出这张介面的相关资料,而不管该介面是否有启动。所以如果您想要知道某张网路卡的Hardware Address,直接输入‘ ifconfig "网路介面代号" ’即可喔! ^_^!至于上表出现的各项资料是这样的(资料排列由上而下、由左而右):

  • eth0:就是网路卡的代号,也有 lo 这个 loopback ;
  • HWaddr:就是网路卡的硬体位址,俗称的 MAC 是也;
  • inet addr:IPv4 的 IP 位址,后续的 Bcase, Mask 分别代表的是Broadcast 与 netmask 喔!
  • inet6 addr:是 IPv6 的版本的 IP ,我们没有使用,所以略过;
  • MTU:就是 MTU 啊!
  • RX:那一行代表的是网路由启动到目前为止的封包接收情况,packets 代表封包数、errors 代表封包发生错误的数量、 dropped 代表封包由于有问题而遭丢弃的数量等等
  • TX:与 RX 相反,为网路由启动到目前为止的传送情况;
  • collisions:代表封包碰撞的情况,如果发生太多次,表示您的网路状况不太好;
  • txqueuelen:代表用来传输资料的缓冲区的储存长度;
  • RX bytes, TX bytes:总传送、接收的位元组总量
  • Interrupt, Memory:网路卡硬体的资料, IRQ 岔断与记忆体位址;
透过观察上述的资料,大致上可以了解到您的网路情况,尤其是那个 RX, TX 内的 error 数量,以及是否发生严重的 collision 情况,都是需要注意的喔! ^_^

呵呵!使用 ifconfig 可以暂时手动来设定或修改某个介面卡的相关功能,并且也可以透过 eth0:0 这种虚拟的网路介面来设定好一张网路卡上面的多个 IP 喔!手动的方式真是简单啊!并且设定错误也不打紧,因为我们可以利用/etc/init.d/network restart来重新启动整个网路介面,那么之前手动的设定资料会全部都失效喔!另外,要启动某个网路介面,但又不让他具有 IP 参数时,直接给他ifconfig eth0 up 即可!这个动作经常在无线网卡当中会进行,因为我们必须要启动无线网卡让他去侦测 AP 存在与否啊!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值