Меню

Настройка сети через скрипты



Настройка сети через командную строку и BAT файл.

В данной статье будут рассмотрены варианты настройки и смены сетевых реквизитов подключения по локальной сети через командную строку (CMD) и BAT файл.

Вариант № 1:

Смена сетевых настроек через командную строку. Нажимаем «Пуск» — «Выполнить» или же нажимаем сочетание клавиш Win + R. Откроется окно «Выполнить». В строчке вводим «cmd» (без кавычек) и жмем кнопку «ОК». Откроется окно cmd.exe. Вводим команды:

Команда на смену IP адреса, маски подсети, шлюза по умолчанию и метрики интерфейса. «Подключение по локальной сети» меняем на название своего сетевого подключения. 192.168.0.100 — IP адрес, 255.255.255.0 — маска подсети, 192.168.0.1 — шлюз, единичка (1) следующая за шлюзом (192.168.0.1) это метрика интерфейса.

CMD

Копировать код

Команда на смену DNS серверов. Первая строчка кода меняет/прописывает предпочитаемый DNS сервер, а вторая строчка кода меняет/прописывает альтернативный DNS сервер.

CMD

Копировать код

Вариант № 2:

Смена сетевых настроек через BAT файл. Создаем текстовый документ, открываем его, жмем кнопку «Файл», выбираем пункт «Сохранить как». Откроется окно сохранения файла. В меню «Тип файла» выбираем пункт «Все файлы» (по умолчанию будет стоять «Текстовый документ»), выбираем кодировку ANSI (если изменено на другое). Далее к названию файла дописываем «.bat», таким образом у вас должно получиться примерно такое название файла: «Текстовый документ.bat». Жмем кнопку «Сохранить». Далее можно изменить название файла на свое. Теперь жмем правой кнопкой мыши на bat файле и в меню выбираем пункт «Изменить». Вводим в окно следующие команды:

BATCH

Копировать код

Команда «chcp 1251» устанавливает кодировку. Если этого не сделать, то через BAT файл нельзя будет сменить настройки на сетевом интерфейсе с названием, состоящим из русских символов.

Пример BAT файла:

Внимание! По умолчанию в командной строке используется точечный шрифт. В связи с этим вместо кирилицы будут отображаться «кракоязбры». Для того, чтобы русский текст отображался правильно, нужно сделать сделующее: в открытом окне командной строки нажмите правой кнопкой мыши на заголовке окна. Откроется меню — в нем выберите пункт «Свойства». В открывшемся окне перейдите на вкладку «Шрифты» и выберите шрифт Lucida Console. Нажмите кнопку «ОК». Всё, теперь шрифты в командной строке будут отображаться нормально.

При запуске данного пакетного файла вам будет предложено выбрать один из двух вариантов настройки — дом или работа. В примере кода меняем название сетевого подключения на своё, если оно отличное от по умолчанию, т.е. «Подключение по локальной сети». Так же меням сетевые настройки — IP, маску, шлюз и DNS сервера. После смены сетевых настроек будет предложено посмотреть текущие сетевые настройки (команда ipconfig /all). Отвечаем да или нет в зависимости от того нужно вам это или нет.

BATCH

Копировать код

Вот так будет выглядеть окно данного пакетного файла при запуске.

Источник

Настройка сети через скрипты

В Этой статье подробно написано как настроить сетевые интерфейсы в операционной системе Ubuntu через командную строку, как написать bash-скрипт автоматической настройки сети и как сделать автозапуск скрипта.

Для настройки сети через консоль во всех Linux системах, включая Ubuntu, существует специальная команда ifconfig.

Если просто в терминале написать эту команду то консоль выдаст все сетевые интерфейсы, запущенные на этом компьютере. Это будет выглядеть примерно так.

Первый столбик это имена интерфейсов, во второй настройки соответствующих интерфейсов. Команда ifconfig eth0 выведет настройки только интерфейса eth0.Для того чтобы отключить или включить интерфейс eth0 наберите соответственно команды.

Чтобы управлять интерфейсами, нужны права суперпользователя.

Чтобы менять настройки интерфейсов вводите команды следующего вида.

поменять ip адрес интерфейса eth1 на 192.168.140.1

поменяет мас адрес на 00:12:34:56:78:90

поменять маску подсети интерфейса eth0 на 255.255.255.0

Но сделанные таким способом настройки сбрасываются после перезагрузки компьютера.
Чтобы этого не происходил надо поменять настройки в конфигурационном файле сетевых интерфейсов, который находится /etc/network/interfaces У меня этот файл выглядит так.

Я думаю здесь всё понято. Адрес DNS сервера можно задать в файле /etc/network/interfaces , но вообще управление адресами DNS серверов в Ubuntu осуществляется через файл /etc/resolv.conf, синтаксис этого конфигурационного файла простой, допустим, у меня он выглядит так

Читайте также:  Как удалить старые настройки сети

После изменения этих конфигурационных файлов перезагрузите сетевую службу командой

Если вы хотите получать сетевые настройки через DHCP, просто оставьте в файле /etc/network/interfaces строчку

Обновление настроек через DHCP можно командой

Для остановки или запуска сетевой службы используйтесь командой

Если посмотреть мой конфигурационный файл в настройках интерфейса eth0 строка меняющая mac адрес закомментирована. Это потому что если её не комментировать у меня сетевая служба не запускается с таким конфигом.

И чтобы менять mac адрес мне приходилось писать в консоли следующие команды.

Почему это происходит я не знаю, но зато я знаю как писать bash-скрипты.

Я в папке /home/user создал файл mynetconfig и записал в него такой код

Теперь вместо этих строчек мне приходилась писать всего лишь одну команду /home/user/mynetconfig

Но и на этом я не остановился. Я скопировал файл mynetconfig в каталог /use/local/bin и теперь запускать скрипт могу просто командой mynetconfig.

Но и этого нам мало. Надо чтобы скрипт запускался автоматически при загрузки системы.

Чтобы добавить скрипт в автозагрузку, копируем скрипт в /etc/init.d/ , открываем консоль, переходим в /etc/init.d/ и выполняем следующую команду.

Небольшое пояснение:
mynetconfig — имя скрипта
defaults — выполнять на всех режимах загрузки от второго до пятого
99 — порядок загрузки

Чтобы удалить скрипт из автозагрузки перейдите в каталог /etc/init.d/ и выполните команду

Так же есть другой способ добавить скрипт в автозагрузку, просто впишите имя скрипта в файл /etc/rc.local и удалите, если хоте убрать его из автозагрузки.

Первый способ сложнее, но предпочтительнее так как можно выбирать в каком режиме загрузки выполнять скрипт и в каком порядке, иногда это важно.

Не пропустите! На этом сайте аппаратный межсетевой экран по хорошей цене. Безумно выгодно!

Похожие посты.

Комментарии:

Полезная статья, спасибо!

Спасибо,отличная статья, а какой командой можно включить и выключить само подключение? Всмысле как в винде сетевое окружение “сетевые подключения” второй кнопкой на подключение “отключить” или “включить”.

Нашел для себя кое-что интересное…
Спасибо.

СПАСИБО. ВСЕ ХОРОШО ПОНЯТНО,ОТЛИЧНАЯ СТАТЬЯ…

Надо было назвать “как я пытался настроить инет из консоли но потерпел крах”.Ничего полезного.Где информация по настройке из консоли маски,шлюза и файла с днс?Только айпи и мак поменять можно…Статье — 2.

to panya525:
man interfaces малчик.
для начала, приведенный материал тут, — самое то

Бред какой то…..после таких настроек ни чего не работает
sudo /etc/init.d/networking restart
sudo /etc/init.d/networking stop
sudo /etc/init.d/networking start сами то читаете что пишите??
/etc/resolv.conf нет такого файла

to [b]Vlad[/b]:
У тебя волшебная Ubuntu, потому что у меня вот так:

$ uname -v
#37-Ubuntu SMP Fri Jun 11 09:26:55 UTC 2010

$ ls /etc/resolv.*
/etc/resolv.conf

Да и не только в убунту это файл есть.

panya525: если такой умый! то нефиг тут лазить.

Ну вообще /etc/resolv.conf и /etc/network/interface это фишки debian, а убунта как ОС основаная на безе него унаследовала их. В других ОС их может и не быть.

Нам бы ламерам линуксовым побольше таких статей. А то уж слишком много снобизма в линуксовой среде. Послушаешь некоторых, так кажется будто за комп уселись еще в роддоме. Огромное спасибо автору!

Полностью согласен с вами но это не только точнее нестолько в линуксовой среде сколько в админской среде, а в линуксовой в особености. Мне кажеться это не от большого ума….. А кнопки нажимать макаку можно

Для отключения\подключения “сетевого подключения”(как в винде) делается так(под правами суперпользователя)(я не привык к sudo, привык к su root)
Выключаем: ifconfig $имя_устройства down
Включаем: ifconfig $имя_устройства up

По поводу resolv.conf
Поставил я тут сейчас последний Ubuntu Sever, файла resolv.conf не нашел… попытки нагуглить где еще могут храниться адреса ДНС серверов никчему не привели.
vi /etc/resolv.conf
nameserver 77.106.200.20

и все заработало!
ЗЫ> отличный сайт, отличная статья! Автору респект!
ЗЗЫ> TO: гневным постам. — в большинстве случаев понимаешь что косяк не в том что кто-то гдето там не так написал, а что у тебя руки не во всех местах гнутся. удач всем!

/etc/resolv.conf требуется во всех системах, подразумевается, что пользователь сам должен создать этот файл и заполнить адресами серверов DNS своего провайдера.

Читайте также:  Debian настройка proxy сети

За статью автору спасибо. Я не знал откуда копать. В BSD всё было вручную, IP отдельно, ч/з rc.conf, шлюзы ч/з route, ну а DNS ч/з любимый /etc/resolv.conf .

Ещё раз спасибо.

Я нашел что нужно в данный момент и даже больше — скрипт. 1-й день в UBUNTU кручу. Спасибо.

Только разбираюсь с Ubuntu (до этого — как и все сидел на Виндах) и как-то настраивая домашний сервер (он же и поселковый) намутил BIND DNS. Однако до раздачи Инета в сеть дело не дошло за один вечер и пришлось возвращать шлюз обратно на виндовую машинку. Но вот блин чудо произошло — после смены на предполагемом в будущем сервере в Network Manager настроек шлюза, Ubuntu перестал видеть Инет! Уж что только не делал, в оконцовке снес BIND — все пофиг! (В двух словах Инет — Megafon Modem, раздается пока с Виндовой XP машинки, которая стоит у детей, моя машина — Ubuntu 10.04 Desktop, предполагаемый в будущем сервер и раздача Инета — тоже Ubuntu 10.04 Desktop (сразу ставить Ubuntu Server не решился)) Попал на эту статью по первому запросу в ya.ru и сразу в точку! После вписывания в /etc/network/interfaces необходимых параметров — вся проблема решилась.
Хотя удивление осталось, в частности у меня в файле
/etc/resolv.conf был правильно вписан адрес шлюза. Однако он не работал. Зато в /etc/network/interfaces был вписасан только loopbaсk адаптер и все! В общем дописал свой интерфейс и дело в шляпе! Огромное спасибо за статью, а то думал уже доставать бубен! (В Винде бывает такое, что и два бубна с другом в помощь не подмога, а тут прямо сходу в мясо!)

Спасибо за статью, за то что не поленились и написали (выложили) данный материал -)

Спасибо! очень помогла статья. пробовал править вот таким образом sudo nano /etc/network/interfaces хоть все и выставлял- ничего не помогало( не цеплялся адрес, а Ваш совет помог)

Источник

Конфигурирование IP, DNS, шлюза в Windows с помощью PowerShell

В этой статье мы рассмотрим особенности настройки параметров сетевых адаптеров в Windows из PowerShell. Посмотрим, как узнать и назначить статический IP адрес, DNS сервера, или настроить сетевой интерфейс на получение конфигурации IP от DHCP сервера. Вы можете использовать эти командлеты для настройки сети в Сore/Nano версиях Windows Server, в Hyper-V Server , изменения настроек IP на удаленных компьютерах или по сети серверах или в PS скриптах.

Ранее для настройки параметров сети в Windows из CLI использовалась команда netsh interface ipv4. В PowerShell 3.0 и выше для управления сетевыми настройками Windows можно использовать встроенный PowerShell модуль NetTCPIP .

Чтобы получить список командлетов в этом модуле, выполните:

get-command -module NetTCPIP

В этот модуль также входит командлет Test-NetConnection , который можно использовать для проверки доступности TCP портов на удаленных компьютерах.

Управление сетевыми адаптерами из PowerShell

Выведем список доступных сетевых интерфейсов компьютера:

Командлет возвращает имя интерфейса, состояние (Up/Down), MAC адрес, скорость на порту.

В этом примере у меня на компьютере несколько сетевых адаптеров (кроме физического подключения Ethernet0 есть несколько сетевых интерфейсов от Hyper-V и VMWare Player).

Вы можете обращаться к сетевым интерфейсам по их именам или индексам (столбец ifIndex). В нашем примере, чтобы выбрать физический LAN адаптер Intel 82574L нужно набрать команду:

Get-NetAdapter -Name «Ethernet0»

Get-NetAdapter -InterfaceIndex 8

Можно изменить имя адаптера:

Rename-NetAdapter -Name Ethernet0 -NewName LAN

Чтобы выключить сетевой интерфейс, используйте команды:

Get-NetAdapter -InterfaceIndex 13| Disable-NetAdapter

При включении интерфейса нельзя указать его индекс, т.к. он не присвоен. Можно указать имя адаптера или его описание.

Enable-NetAdapter -InterfaceDescription “Hyper-V Virtual Ethernet Adapter»

Если для адаптера указан VLAN , можно вывести его так:

Get-NetAdapter | ft Name, Status, Linkspeed, VlanID

Информация об используемом драйвере сетевого адаптера:

Get-NetAdapter | ft Name, DriverName, DriverVersion, DriverInformation, DriverFileName

Информация о физических сетевых адаптерах (PCI слот, шина и т.д.).

Просмотр настроек TCP/IP сетевого интерфейса из PowerShell

Получить текущие настройки сетевого интерфейса (IP адрес, DNS, шлюз):

Get-NetIPConfiguration -InterfaceAlias Ethernet0

Чтобы вывести более подробную информацию о конфигурации сетевого интерфейса, используйте команду:

Читайте также:  Настройки iptv player сибирские сети

Get-NetIPConfiguration -InterfaceAlias Ethernet0 -Detailed

В этом случае выводится назначенный профиль сети интерфейса (NetProfile.NetworkCategory), настройки MTU (NetIPv4Interface.NlMTU), включено ли получение адреса от DHCP (NetIPv4Interface.DHCP) и ряд другой полезной информации.

Получить значение только IP адрес интерфейса:

(Get-NetAdapter -Name ethernet0 | Get-NetIPAddress).IPv4Address

Настроить статический IP адрес из PowerShell

Попробуем задать статический IP адрес для сетевого интерфейса. Чтобы изменить IP адрес, маску подсети и шлюз для сетевого интерфейса:

New-NetIPAddress –IPAddress 192.168.1.80 -DefaultGateway 192.168.1.1 -PrefixLength 24 -InterfaceIndex 8

Можно задать IP адрес, представив его в виде более массива (более наглядно):

$ipParams = @<
InterfaceIndex = 8
IPAddress = «192.168.1.22»
PrefixLength = 24
AddressFamily = «IPv4»
>
New-NetIPAddress @ipParams

Командлет New-NetIPAddress можно использовать для добавления второго IP адреса на сетевой интерфейс .

Если статический IP адрес уже настроен и нужно изменить его, используется командлет Set-NetIPAddress:

Set-NetIPAddress -InterfaceIndex 8 -IPAddress 192.168.1.90

Чтобы на интерфейсе отключить получение IP адреса от DHCP, выполните:

Set-NetIPInterface -InterfaceAlias Ethernet0 -Dhcp Disabled

Для просмотра таблицы маршрутизации используется командлет Get-NetRoute. Чтобы добавить новый маршрут, используется New-NetRoute:

New-NetRoute -DestinationPrefix «0.0.0.0/0» -NextHop «192.168.0.1» -InterfaceIndex 8

Отключим IPv6 протокол для сетевого интерфейса:

Get-NetAdapterBinding -InterfaceAlias Ethernet0 | Set-NetAdapterBinding -Enabled:$false -ComponentID ms_tcpip6

Set-DnsClientServerAddress: настроить адреса DNS серверов

Чтобы задать адреса первичного и вторичного DNS серверов в Windows, используется командлет Set-DNSClientServerAddress. Например:

Set-DNSClientServerAddress –InterfaceIndex 8 –ServerAddresses 192.168.1.11,10.1.1.11

Можно также задать DNS сервера через массив:

$dnsParams = @<
InterfaceIndex = 8
ServerAddresses = («8.8.8.8″,»8.8.4.4»)
>
Set-DnsClientServerAddress @dnsParams

После изменения настроек DNS, можно очистить DNS кэш:

PowerShell: Настройка получения IP адреса от DHCP сервера

Чтобы сетевой интерфейс компьютера получал динамический IP адрес от DHCP сервера, выполните команду:

Set-NetIPInterface -InterfaceAlias Ethernet0 -Dhcp Enabled

Очистите настройки DNS серверов:

Set-DnsClientServerAddress –InterfaceIndex 8 -ResetServerAddresses

И перезапустите интерфейс для получения IP адреса:

Restart-NetAdapter -InterfaceAlias Ethernet0

Если ранее у вас был настроен шлюз, удалите его:

Set-NetIPInterface -InterfaceAlias Ethernet0| Remove-NetRoute -Confirm:$false

Удаленное изменение IP/DNS настроек в Windows

Вы можете использовать PowerShell чтобы удаленно изменить настройки IP адресов или DNS серверов на нескольких удаленных компьютерах. Допустим, ваша задача – изменить настройки DNS для всех серверов в указанном контейнере AD. Для получения списка компьютеров в скрипте ниже примере используется командлет Get-ADComputer , а удаленное подключение к компьютерам выполняется через WinRM (командлет Invoke-Command):

Источник

Смена настроек сетевой карты скриптом(или софтом)

У меня есть ноут который подключаю(проводные сети) в разных сетях. Там где админы стоит ДХЦП И все работает на УРА.

Но есть 2 офиса где нет ДХЦП(не лень админам 100 компов настраивать в ручную). И настройки сети у всех свои. Есть ли софт какой-то чтобы не в ручную менять всегда настройки, а нажатием клавиши сразу все. Или нужно скрипт писать? Не когда написал может кто поможет.

C:\Documents and Settings\Admin>ipconfig /?

Использование:
ipconfig [/? | /all | /release [адаптер] | /renew [адаптер] |
/flushdns | /displaydns /registerdns |
/showclassid адаптер |
/setclassid адаптер [устанавливаемый_код_класса_dhcp] ]

Где
адаптер Полное имя или имя, содержащие подстановочные знаки «*» и «?»
(* — любое количество знаков, ? — один любой знак).
См. примеры

ключи:
/? Отобразить это справочное сообщение.
/all Отобразить полную информацию о настройке параметров.
/release Освободить IP-адрес для указанного адаптера.
/renew Обновить IP-адрес для указанного адаптера.
/flushdns Очистить кэш разрешений DNS.
/registerdns Обновить все DHCP-аренды и перерегистрировать DNS-имена
/displaydns Отобразить содержимое кэша разрешений DNS.
/showclassid Отобразить все допустимые для этого адаптера коды (IDs)
DHCP-классов.
/setclassid Изменить код (ID) DHCP-класса.

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

Для ключей /Release и /Renew, если не указано имя адаптера, то будет
освобожден или обновлен IP-адрес, выданный для всех адаптеров,
для которых существуют привязки с TCP/IP.

Для ключа SetClassID, если не указан код класса (ID),
то существующий код класса будет удален.

Примеры:
> ipconfig — Отображает краткую информацию.
> ipconfig /all — Отображает полную информацию.
> ipconfig /renew — Обновляет сведения для всех адаптеров.
> ipconfig /renew EL* — Обновляет сведения для адаптеров,
начинающихся с EL.
> ipconfig /release *ELINK?21* — Освобождает IP-адреса для всех адаптеров,
имена которых удовлетворяют запросу:
ELINK-21 или myELELINKi21adapter и т.п.

Источник