在Slackware上通过shellscript更改IP地址

时间:2008-09-16 16:02:27

标签: linux shell ip

在一个shellcript中,我想设置我的盒子的IP,运行一个命令,然后移动到下一个IP。 IP是整个C块。

问题是如何在不编辑文件的情况下设置盒子的IP?什么命令设置Slackware上的IP?

由于

4 个答案:

答案 0 :(得分:2)

如其他答案所述,您可以使用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

答案 1 :(得分:0)

应该是:ifconfig eth0 192.168.0.42 up

通过网卡的网络接口替换eth0,显然可以根据需要调整ip地址,只需要一次,但每次运行时都不会受到影响。

答案 2 :(得分:0)

我不太了解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数据包实际上可以在任何地方传送。

答案 3 :(得分:0)

在一行中,例如:ifconfig eth0 192.168.10.12 netmask 255.255.255.0