ifconfig vs ip:有什么区别和比较网络配置

Linux发行版提供了一组命令,这些命令提供了一种通过命令行使用ifconfig和ip命令配置网络的方法。

基于Linux的发行版有特色的命令集,提供通过命令行以简单和强大的方式配置网络的方法。 这些命令集可从网上的工具包,它已经存在了很长一段时间几乎所有的分布,包括像命令: 使用ifconfig, 路线 ,nameif,iwconfig ,iptunnel 参数,netstat,ARP。

Ifconfig Vs IP命令

Ifconfig Vs IP命令

这些命令只是足够的配置网络以任何新手或专家Linux用户想要的方式,但由于Linux内核在过去几年的进步和无法保持这套打包的命令,他们被淘汰,更强大具有替换所有这些命令的能力的替代物正在出现。

这个替代方案也已经存在了相当一段时间,并且比任何这些命令更强大。 段其余部分将强调这一选择,它与网络的工具包,即使用ifconfig命令的一个比较。

ip - A替换ifconfig

使用ifconfig已经存在了很长一段时间,目前仍在使用配置,显示和许多控制网络接口,但一个新的替代现在的Linux发行版中存在比它更强大。 这种替代是ipiproute2util包命令。

尽管此命令似乎在第一现场有点复杂,但是它比使用ifconfig功能广泛得多。 它在功能上的组织网络即第2层链路层 )的两层,3层 (IP层 )和做的上述所有从net-tools软件包命令的工作。

虽然使用ifconfig大多显示或修改系统的接口,这个命令是能够做以下任务:

  1. 显示或修改接口属性。
  2. 添加,删除ARP缓存表项,为主机创建新的静态ARP表项。
  3. 显示所有接口相关的MAC地址。
  4. 显示和修改内核路由表。

其中一个来自古老对应的ifconfig分离它的主要亮点之一是,后者使用的ioctl的网络配置,这与内核的互动较少欣赏的方式,而前者利用的网络连接套接字机制,这是一个更加灵活的继任者相同的ioctl用于内核和用户空间之间的内部通信使用rtnetlink(添加网络环境操作能力)。

我们现在可以开始凸显的ifconfig的特点以及他们如何有效地ip命令代替。

ip vs ifconfig命令

以下部分重点介绍了一些使用ifconfig命令及其使用更换IP的命令:

1.在Linux中显示所有网络接口

在这里,IPifconfig之间的一个显着特征是,而使用ifconfig只显示已启用接口,IP显示是否启用或禁用的所有接口。

ifconfig命令
$ ifconfig
ifconfig:检查IP地址

ifconfig:检查IP地址

ip命令
$ ip a
ip:检查IP地址

ip:检查IP地址

2.在Linux中添加或删除IP地址

下面的命令分配IP地址192.168.80.174到接口eth0

ifconfig - 添加/删除IP地址
# ifconfig eth0 add 192.168.80.174

使用ifconfig命令添加/删除接口的语法:

# ifconfig eth0 add 192.168.80.174
# ifconfig eth0 del 192.168.80.174
ip - 添加/删除IP地址
# ip a add 192.168.80.174 dev eth0

使用ip命令添加/删除接口的语法:

# ip a add 192.168.80.174 dev eth0
# ip a del 192.168.80.174 dev eth0

4.将MAC硬件地址添加到网络接口

下面的命令设置硬件地址接口eth0在命令中指定的值。 这可以通过检查核实HWaddrifconfig命令的输出值。

ifconfig - 添加MAC地址

这里,使用ifconfig命令添加MAC地址的语法:

# ifconfig eth0 hw ether 00:0c:29:33:4e:aa
ip - 添加MAC地址

这里,使用ip命令添加MAC地址的语法:

# ip link set dev eth0 address 00:0c:29:33:4e:aa

4.设置网络接口的其他配置

除了设置IP地址或硬件地址,可以应用于接口的其他配置包括:

  1. MTU(最大传输单元)
  2. 组播标志
  3. 发送队列长度
  4. 混杂模式
  5. 启用或禁用所有多播模式
ifconfig - 其他网络配置
ip - 其他网络配置

# ifconfig eth0 mtu 2000
# ip link set dev eth0 mtu 2000

# ifconfig eth0 multicast
# ip link set dev eth0 multicast on

# ifconfig eth0 txqueuelen 1200
# ip link set dev eth0 txqueuelen 1200

# ifconfig eth0 promisc
# ip link set dev eth0 promisc on

# ifconfig eth0 allmulti
# ip link set dev eth0 allmulti on

5.启用或禁用网络接口

以下命令启用或禁用特定网络接口。

ifconfig - 禁用/启用网络接口

下面的命令禁用接口eth0 ,它是由使用ifconfig的输出,在默认情况下只显示那些了接口验证。

# ifconfig eth0 down

要重新启用该接口,只需更换下降

# ifconfig eth0 up
ip - 禁用/启用网络接口

下面的ip命令是替代方案ifconfig来禁用特定接口。 这可以通过输出进行验证'ip a'命令,它显示在默认情况下所有的接口,无论是涨还是跌,但更强调与说明以及它们的状态。

# ip link set eth0 down

要重新启用该接口,只需用替换下来

# ip link set eth0 up

6.启用或禁用ARP协议的使用

以下命令在特定网络接口上启用或禁用ARP协议。

ifconfig - 启用/禁用ARP协议

该命令使ARP协议与接口eth0的使用。 要禁用此选项,只需更换与ARP -arp

# ifconfig eth0 arp
ip - 启用/禁用ARP协议

此命令是ip选项为接口eth0启用ARP。 要禁用,只是关闭 更换

# ip link set dev eth0 arp on

结论

因此,我们强调了ifconfig命令的功能,以及它们如何可以用ip命令来完成。 目前,Linux发行版向用户提供这两个命令,以便他可以根据他的方便使用。 所以,哪个命令根据你喜欢使用哪个方便? 请在您的意见中提及这一点。

如果你想了解更多关于这两个命令,那么你应该通过我们以前的文章,以更详细的方式显示ifconfig和ip命令的一些实际示例。

不要错过: 15“的ifconfig”的例子在Linux中配置网络接口

不要错过: 10“IP”命令的例子在Linux中配置网络接口