通过shellscript在Slackware上更改IP地址

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

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

谢谢

请先 登录 后评论

4 个回答

Community

应该是这样的: ifconfig eth0 192.168.0.42 up

用你的网卡的网络接口替换eth0,显然,根据你的需要调整ip地址,up只需要一次,但如果你每次都运行它也没有坏处。

请先 登录 后评论
tialaramex

我不太了解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的工作方式有点不同,

3.

再次设置设备eth0, IP地址为10.1.2.3

根据您想要这些地址的目的,您可能还需要知道如何设置手动路由,这样您的IP包就可以实际发送到它们要去的任何地方。

请先 登录 后评论
Thomee

正如在其他答案中提到的,您可以使用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
请先 登录 后评论
Eduardo

例如:ifconfig eth0 192.168.10.12 netmask 255.255.255.0

请先 登录 后评论
  • 28 关注
  • 0 收藏,259 浏览
  • Community 提出于 2022-11-02 19:05