Изменить IP-адрес с помощью шеллскрипта на Slackware - PullRequest
1 голос
/ 16 сентября 2008

В шеллскрипте я бы хотел установить IP своего ящика, выполнить команду, а затем перейти к следующему IP. IP-адреса представляют собой целый блок C.

Вопрос в том, как установить IP-адрес коробки без редактирования файла? Какая команда устанавливает IP на Slackware?

Спасибо

Ответы [ 4 ]

2 голосов
/ 16 сентября 2008

Как уже упоминалось в других ответах, вы можете использовать команду 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
0 голосов
/ 21 октября 2008

В одну строку, например: ifconfig eth0 192.168.10.12 маска сети 255.255.255.0

0 голосов
/ 16 сентября 2008

Я не очень хорошо знаю 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-пакеты действительно доставлялись куда бы они ни направлялись.

0 голосов
/ 16 сентября 2008

Это должно быть что-то вроде: ifconfig eth0 192.168.0.42 up

Замените eth0 сетевым интерфейсом вашей сетевой карты, очевидно, адаптируйте IP-адрес в соответствии с вашими потребностями, и повышение требуется только один раз, но не повредит, если вы запускаете его каждый раз.

...