基于Linux的发行版有特色的命令集,提供通过命令行以简单和强大的方式配置网络的方法。 这些命令集可从网上的工具包,它已经存在了很长一段时间几乎所有的分布,包括像命令: 使用ifconfig, 路线 ,nameif,iwconfig的 ,iptunnel 参数,netstat,ARP。
Ifconfig Vs IP命令
这些命令只是足够的配置网络以任何新手或专家Linux用户想要的方式,但由于Linux内核在过去几年的进步和无法保持这套打包的命令,他们被淘汰,更强大具有替换所有这些命令的能力的替代物正在出现。
这个替代方案也已经存在了相当一段时间,并且比任何这些命令更强大。 段其余部分将强调这一选择,它与网络的工具包,即使用ifconfig命令的一个比较。
ip - A替换ifconfig
使用ifconfig已经存在了很长一段时间,目前仍在使用配置,显示和许多控制网络接口,但一个新的替代现在的Linux发行版中存在比它更强大。 这种替代是ip
从iproute2util包命令。
尽管此命令似乎在第一现场有点复杂,但是它比使用ifconfig功能广泛得多。 它在功能上的组织网络即第2层 ( 链路层 )的两层,3层 (IP层 )和做的上述所有从net-tools软件包命令的工作。
虽然使用ifconfig大多显示或修改系统的接口,这个命令是能够做以下任务:
- 显示或修改接口属性。
- 添加,删除ARP缓存表项,为主机创建新的静态ARP表项。
- 显示所有接口相关的MAC地址。
- 显示和修改内核路由表。
其中一个来自古老对应的ifconfig分离它的主要亮点之一是,后者使用的ioctl的网络配置,这与内核的互动较少欣赏的方式,而前者利用的网络连接套接字机制,这是一个更加灵活的继任者相同的ioctl用于内核和用户空间之间的内部通信使用rtnetlink(添加网络环境操作能力)。
我们现在可以开始凸显的ifconfig的特点以及他们如何有效地ip命令代替。
ip vs ifconfig命令
以下部分重点介绍了一些使用ifconfig命令及其使用更换IP的命令:
1.在Linux中显示所有网络接口
在这里,IP和ifconfig之间的一个显着特征是,而使用ifconfig只显示已启用接口,IP显示是否启用或禁用的所有接口。
ifconfig命令
$ ifconfig
ifconfig:检查IP地址
ip命令
$ ip a
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
在命令中指定的值。 这可以通过检查核实HWaddr
在ifconfig命令的输出值。
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地址或硬件地址,可以应用于接口的其他配置包括:
- MTU(最大传输单元)
- 组播标志
- 发送队列长度
- 混杂模式
- 启用或禁用所有多播模式
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中配置网络接口