![更改网络接口的网络掩码(但不更改 IP)](https://linux22.com/image/799134/%E6%9B%B4%E6%94%B9%E7%BD%91%E7%BB%9C%E6%8E%A5%E5%8F%A3%E7%9A%84%E7%BD%91%E7%BB%9C%E6%8E%A9%E7%A0%81%EF%BC%88%E4%BD%86%E4%B8%8D%E6%9B%B4%E6%94%B9%20IP%EF%BC%89.png)
该ifconfig
命令可以更改网络接口的 IP 地址和网络掩码:
ifconfig eth0 10.10.10.10 netmask 255.255.255.0
是否可以eth0
在不知道(并更改)其 IP 地址的情况下更改网络接口的网络掩码?
我试过了
ifconfig eth0 netmask 255.255.255.0
但我得到了错误
ifconfig: ioctl (SIOCAIFADDR): Invalid argument
答案1
只需向命令指定与当前配置的新子网掩码相同的 IP 地址ifconfig
。
ifconfig eth0 `/sbin/ifconfig eth0 | grep "inet addr" | tr -s " " | cut -f 3 -d " " | cut -f 2 -d ":"` netmask 255.255.255.0
(这让我感觉很肮脏...)
编辑:
话虽如此,在一个非常老旧的 Fedora Core 2 机器上(我能在短时间内找到的最老的机器),我发现ifconfig
设置网络掩码无需设置 IP 就可以正常工作。你正在查看哪个版本的 net-tools?
答案2
如果你不知道 IP 是什么,只需
ifconfig eth0
并且它将被显示出来。然后您可以在配置命令中使用它。
答案3
ifconfig eth0 192.168.1.5 netmask 255.255.255.0 up 它应该可以正常工作