2008-09-16 6 views
1

In einem Shellskript, möchte ich die IP meiner Box, einen Befehl ausführen, dann zur nächsten IP gehen. Die IPs sind ein vollständiger C-Block.Ändern der IP-Adresse über Shellscript auf Slackware

Die Frage ist, wie setze ich die IP der Box, ohne eine Datei zu bearbeiten? Welcher Befehl setzt die IP auf Slackware?

Dank

Antwort

0

Es sollte so etwas wie sein: ifconfig eth0 192.168.0.42 up

eth0 Ersetzen durch die Netzwerkschnittstelle der Netzwerkkarte, offensichtlich die IP-Adresse an Ihre Bedürfnisse anpassen und die nach oben ist nur einmal notwendig, aber doesn‘ t t verletzt, wenn Sie es jedes Mal ausführen.

0

Ich kenne Slackware nicht sehr gut, ich benutze es zuletzt vor über zehn Jahren. Jede gängige Linux-Distribution sollte jedoch entweder das Programm 'ifconfig' oder das Programm 'ip' oder beides haben. Sie müssen root privilges, also entweder root (z. B. mit su) oder verwenden Sie das Programm "sudo", wenn Sie wissen, wie. Lass es uns zuerst mit 'ip' machen.

ip addr add 10.1.2.3 dev eth0 

setzt das Gerät eth0 (normalerweise der primäre verkabelte Netzwerkadapter) auf die IP-Adresse 10.1.2.3. Sie können wieder die Adresse von diesem Adapter entfernen, wenn Sie mit ihm fertig sind ...

ip addr del 10.1.2.3 dev eth0 

ifconfig funktioniert ein bisschen anders,

ifconfig eth0 10.1.2.3 netmask 255.255.255.0 

wieder einrichtet Gerät eth0, mit der IP-Adresse 10.1. 2.3

Je nachdem, wofür Sie diese Adressen benötigen, müssen Sie möglicherweise auch wissen, wie Sie eine manuelle Route einrichten, damit Ihre IP-Pakete tatsächlich zugestellt werden, wohin sie auch gehen.

2

Wie in anderen Antworten erwähnt, können Sie entweder den Befehl ifconfig oder den Befehl ip verwenden. IP ist ein viel robuster Befehl, und ich bevorzuge es zu verwenden. Ein vollständiges Skript, das durch ein vollständiges Subnetz der Klasse C durchläuft, die IP hinzufügt, Dinge erledigt und dann entfernt, folgt. Beachten Sie, dass nicht .0 oder .255 verwendet wird. Dies sind die Netzwerk- und Broadcast-Adressen des Subnetzes. Wenn Sie den Befehl ip verwenden, um eine Adresse hinzuzufügen oder zu entfernen, empfiehlt es sich, auch die Maskenbreite anzugeben (das/24 am Ende der Adresse).

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

In einer Zeile, z.B .: ifconfig eth0 192.168.10.12 netmask 255.255.255.0

Verwandte Themen