通过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