通过Slackware上的ShellScript更改IP地址
时间:2020-03-05 18:56:24 来源:igfitidea点击:
在shellscript中,我想设置盒子的IP,运行命令,然后移至下一个IP。 IP是整个C块。
问题是如何在不编辑文件的情况下设置盒子的IP?什么命令在Slackware上设置IP?
谢谢
解决方案
回答
应该是这样的:ifconfig eth0 192.168.0.42 up
用网卡的网络接口替换eth0,显然可以使ip地址适应需要,并且up仅需一次,但每次运行都不会受到损害。
回答
我不太了解Slackware,我上次使用它是在十年前。但是,任何主流Linux发行版都应具有'ifconfig'程序或者'ip'程序,或者两者都有。我们将需要具有root特权,因此请成为root用户(例如,使用su)或者使用" sudo"程序(如果我们知道如何使用)。首先让我们使用" ip"。
ip addr add 10.1.2.3 dev eth0
将设备eth0(通常是主要的有线网络适配器)设置为IP地址10.1.2.3. 完成操作后,我们可以再次从该适配器中删除该地址...
ip addr del 10.1.2.3 dev eth0
ifconfig的工作方式略有不同,
ifconfig eth0 10.1.2.3 netmask 255.255.255.0
再次设置设备eth0,其IP地址为10.1.2.3
根据我们想要这些地址的用途,我们可能还需要知道如何设置手动路由,以便IP数据包无论到达何处都可以实际传送。
回答
如其他答案中所述,我们可以使用ifconfig命令或者ip命令。 ip是一个更可靠的命令,我更喜欢使用它。下面是一个完整的脚本,该脚本循环遍历完整的C类子网,添加IP,执行操作然后将其删除。请注意,它不使用.0或者.255,它们是子网的网络和广播地址。另外,在使用ip命令添加或者删除地址时,最好还包括掩码宽度(地址末尾的/ 24)。
#!/bin/bash SUBNET=192.168.135. ETH=eth0 for i in {1..254} do ip addr add ${SUBNET}${i}/24 dev ${ETH} # do whatever you want here ip addr del ${SUBNET}${i}/24 dev ${ETH} done
回答
在一行中,例如:ifconfig eth0 192.168.10.12 netmask 255.255.255.0