该ifconfig命令可以更改网络接口的 IP 地址和网络掩码:
ifconfig eth0 10.10.10.10 netmask 255.255.255.0
Run Code Online (Sandbox Code Playgroud)
是否可以在eth0不知道(和更改)其 IP 地址的情况下更改网络接口的网络掩码?
我试过了
ifconfig eth0 netmask 255.255.255.0
Run Code Online (Sandbox Code Playgroud)
但我得到了错误
ifconfig: ioctl (SIOCAIFADDR): Invalid argument
Run Code Online (Sandbox Code Playgroud)
只需为命令指定与当前使用新子网掩码配置的 IP 地址相同的 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
Run Code Online (Sandbox Code Playgroud)
(这让我觉得很脏……)
编辑:
话虽如此,在一个老式的 Fedora Core 2 机器上(我能在短时间内找到的最旧的机器),我看到ifconfig在不设置 IP 的情况下设置网络掩码工作正常。你在看什么版本的网络工具?