Linux 通过Slackware上的shellscript更改IP地址

Linux 通过Slackware上的shellscript更改IP地址,linux,shell,ip,Linux,Shell,Ip,在shell脚本中,我想设置我的盒子的IP,运行一个命令,然后移动到下一个IP。IP是一个完整的C块 问题是如何在不编辑文件的情况下设置长方体的IP?什么命令设置Slackware上的IP 谢谢它应该是这样的:ifconfig eth0 192.168.0.42 up 将eth0替换为网卡的网络接口,显然,根据您的需要调整ip地址,并且up只需要一次,但如果每次都运行它,则不会有任何影响 我不太了解Slackware,我上次使用它是在十多年前。但是,任何主流Linux发行版都应该有“ifconf

在shell脚本中,我想设置我的盒子的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
如果config的工作方式有点不同

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)


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

#!/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