シェルスクリプトで、ボックスの IP を設定し、コマンドを実行してから、次の IP に移動したいと思います。IP は C ブロック全体です。
問題は、ファイルを編集せずにボックスの IP を設定する方法です。Slackware で 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.0.42 up
eth0 をネットワーク カードのネットワーク インターフェイスに置き換えます。明らかに、IP アドレスをニーズに合わせて調整します。up は 1 回だけ必要ですが、毎回実行しても問題はありません。
Slackware についてはよく知りません。最後に使用したのは 10 年以上前です。ただし、主流の 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
IP アドレス 10.1.2.3 でデバイス eth0 を再度セットアップします。
これらのアドレスが何のために必要かによっては、IP パケットがどこにでも実際に配信されるように、手動ルートを設定する方法を知る必要がある場合もあります。
例: ifconfig eth0 192.168.10.12 netmask 255.255.255.0