Несмотря на то, что во многих современных дистрибутивах есть красивые графические утилиты по настройке сетевой карты, в ряде случаев проще настроить всё руками в конфигах. Это очень просто - вписать несколько строчек в нужные конфиги.
Как посмотреть текущие настройки сетевой карты в Линукс
Просмотреть текущие настройки можно, набрав в консоли с привилегиями рута команду:# ifconfig
В результате в консоль будет выдано что-то вроде:
или
sudo ifconfig
lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
UP LOOPBACK RUNNING MTU:16436 Metric:1
RX packets:104 errors:0 dropped:0 overruns:0 frame:0
TX packets:104 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:9387 (9.1 KiB) TX bytes:9387 (9.1 KiB)
eth0 Link encap:Ethernet HWaddr 00:0A:E4:53:AA:2D
inet addr:192.168.1.5 Bcast:192.168.1.255 Mask:255.255.255.0
UP BROADCAST MULTICAST MTU:1500 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:0 (0.0 b) TX bytes:0 (0.0 b)
Interrupt:21 Base address:0x2c00
Отсюда видно, что настроены два сетевых интерфейса: петлевой (loopback) под названием lo, и обычная сетевая карта (которая Ethernet) называемая eth0. Причём если в интерфейс eth0 вставлен сетевой провод, идущий в свитч, будет написано RUNNING, то есть: inet addr:192.168.1.5 Bcast:192.168.1.255 Mask:255.255.255.0
Простая настройка сетевого интерфейса возможна командой:
inet6 addr: fe80::20e:2eff:feec:ef9f/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1ifconfig eth0 192.168.1.5
Чтобы заглушить сетевой интерфейс, набираем:ifdown eth0
Настройка сетевого соединения в Линукс
Для этого потребуются права администратора и текстовый редактор (nano, vim, emacs, ваш_любимый_редактор_здесь). Так же нужно представлять, какой IP-адрес следует присвоить сетевой карте, адрес шлюза и прочие параметры.
Сначала нужно выяснить, как называется сетевой интерфейс, соответствующий вашей сетевой карте. Делается это так: в консоли пишемdmesg | grep -i Eth
В результате должны получить что-то вроде (выделение моё):8139too Fast Ethernet driver 0.9.28
Так, похоже, что называется он eth0 (потому, что ethernet, 0 - нулевое устройство - довольно логично). В этом примере дальше будет предполагаться, что интерфейс - eth0.
eth0: RealTek RTL8139 at 0xdf822c00, 00:15:f2:51:ad:da, IRQ 21
eth0: Identified 8139 chip type 'RTL-8101'
Настройка сетевого соединения со статическим IP
Для этого следует отредактировать файл:# nano /etc/network/interfaces
Перед тем, как его править, следует решить, какой IP-адрес назначается машине. Если вы подключаетесь к уже настроенной сети - хорошо бы посмотреть, какие настройки есть там. Например, если подключение происходит к CorvettTelecom, настройки вам дадут. Если же сеть самопальная, например из двух компьютеров, нижеследующий пример подойдёт.
или
sudo nano /etc/network/interfaces
В общем, при назначении статических адресов нужно указать: IP-адрес (address), маску подсети (netmask) и адрес шлюза (gateway). Для локальной сети файл /etc/network/interfaces нужно изменить так:auto lo
В этом примере назначен IP-адрес 192.168.1.5.
iface lo inet loopback
auto eth0
iface eth0 inet static
address 192.168.1.5
netmask 255.255.255.0
gateway 192.168.1.1
Настройка сетевого соединения с динамическим IP
Редактируем тот же файл, отвечающий в Линукс за сетевые настройки:# nano /etc/network/interfaces
Здесь всё проще: нужно лишь привести файл к виду:
или
sudo nano /etc/network/interfacesauto lo
Так же можно настроить и из консоли:
iface lo inet loopback
auto eth0
iface eth0 inet dhcp#dhcpcd eth0
Для этого в системе должен быть установлен пакет dhcp3-client
Два слова о беспроводных сетях
Чтобы изменить тип интерфейсаwlanconfig ath0 destroy
Для того, чтобы посмотреть список сетей, набираем:
wlanconfig ath0 create wlandev wifi0
wlanmode adhociwlist ath0 scan
илиwlanconfig ath0 list ap
Если есть открытая сеть и нужно к ней подключиться, набираем от рута:iwconfig ath0 essid SomeESSID
Для того, чтобы соединение шифровалось с использованием WEP, пишем:iwconfig ath0 key ...
Больше о беспроводных сетях говорилось тут.
Настройка адресов серверов имён (DNS, nameserver)
Если вы не настроите это, то сможете подключаться к ресурсам сети только по IP-адресам, что несколько неудобно. Для того, чтобы в Линукс прописать адреса серверов имён (DNS address), нужно отредактировать файл /etc/resolv.conf или создать его, если его нет.# nano /etc/resolv.conf
И прописать адреса следующим образом:
или
sudo nano /etc/resolv.confnameserver 192.168.1.1
столько, сколько их нужно. Слово nameserver добавлять обязательно.
nameserver 192.168.2.1
Чтобы изменения настройки сетевых интерфейсов вступили в силу...
... можно перезагрузиться, но это не наш метод. Без перезагрузки следует дать команду:# /etc/init.d/networking restart
Всё, после этого настойки вступают в силу для всех сетевых интерфейсов.
или
sudo /etc/init.d/networking restart
Заключение
Это позволит достаточно легко настроить простую локальную сеть.
Как сменить MAC-адрес на сетевой карте, говорится там. Если требуется настроить GRPS под Линуксом, читаем это. При настройке VPN-соединений в Linux, толковые руководства есть по Корбине и ещё одно про корбину, по PPPoE тут и ещё одно. Остальное можно найти тут.
понедельник, Апрель 28, 2008
Простая настройка сетевого интерфейса в Линукс: как быстро настроить сетевую карту в Linux
Написал
virens
Метки:
интернет,
настройка,
сети
Добавить пост в закладки:
При выходе из блога не забудьте RSS-ленту
Подписаться на:
Комментарии к сообщению







29 комментариев:
Очень хорошо. Не лишне было бы добавить, как не только"поднимать", но и "убивать" сетевые интерфейсы %)
(Зачем? Положим eth0 мешает ath0)
Плохому учите :) Морально устаревшему ifconfig вместо более продвинутого ip. Ну и /etc/network/interfaces это фишка дебиана. У меня, например, его нет.
To anonymous:
ip link set down eth0
Только зачем? Если eth0 "мешает" ath0, значит что-то вы делаете не так.
при совмещение динамических и статических интерфейсов может пригодится пакет resolvconf -- dns прописываются в interfaces и resolv.conf обновляется автоматически.
да и вообще эта система хуков /etc/network/if-*.d (через которую всё это работает) очень гибкая и через неё можно прикрутить настройку любых фичей: bridge, vlan, wifi, qos, и любой извращённый роутинг.
michael_ul:
А можно поподробнее про моральное устаревание и преимущества? :)
Хотя ip route вместо route использую - несколько удобнее ибо.
To HoverHell:
Поддержка таких фич, как политики маршрутизации (нужно, например, если в инет два канала ведут), шейпинг тот же. Сами команды удобнее, хотя это и не сразу понятно. Например, сделать несколько адресов на одном интерфейсе удобнее с ip addr, чем с ifconfig. Конечно, для обычной ситуации ifconfig/route вполне достаточно, но какой в них смысл, если есть более мощный и удобный инструмент.
Ещё один немаловажный момент, особенно для тех, у кого несколько сетевых карточек на компьютере:
на подключенной карточке будет написано RUNNING. Примерно вот так:
wlan1 Link encap:Ethernet HWaddr 00:0e:2e:ec:ef:9f
inet addr:192.168.1.5 Bcast:192.168.1.255 Mask:255.255.255.0
inet6 addr: fe80::20e:2eff:feec:ef9f/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:4849503 errors:0 dropped:0 overruns:0 frame:0
TX packets:4206185 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
как вариант для того, чтобы не убивать и потом поднимать все интерфейсы можно использовать ifdown eth0 и ifup eth0
Ух, сколько вы успели написать, друзья! :-)
2 Анонимный пишет...
Не лишне было бы добавить, как не только"поднимать", но и "убивать" сетевые интерфейсы
Дельное замечание. Внёс в TODO-list.
2 michael_ul пишет...
Плохому учите :)
Ничему не учу, а говорю про то, как сам делаю. ifconfig меня всем устраивает.
Ну и /etc/network/interfaces это фишка дебиана. У меня, например, его нет.
Хм, интересно, не знал. Буду иметь в виду.
ip link set down eth0
Только зачем?
Иногда требуется, например, временно заглушить соединение с интернетом.
2 koct9i пишет...
при совмещение динамических и статических интерфейсов может пригодится пакет resolvconf
Надо будет добавить в пост. Спасибо!
2 michael_ul пишет...
Поддержка таких фич, как политики маршрутизации
Товарищи, "только песня совсем не о том" :-) Пост о ПРОСТОЙ настройке, а то меня уже достали письмами "как мне сеть поднять".
2 Ilya Brik пишет...
Ещё один немаловажный момент, особенно для тех, у кого несколько сетевых карточек на компьютере:
на подключенной карточке будет написано RUNNING.
Дельное замечание, надо будет добавить. Большое спасибо!
Большое спасибо за отзывы. Как только разберусь с текущими делами, дополню пост. Имена героев соц.труда вынесу на доску почёта :-)
К примеру в ArchLinux для настройки нужно редактировать центральный файл конфигурации /etc/rc.conf, ну и в Дебиане есть небольшая трабла, перед тем как записать изменения для интерфейса в /etc/network/interfaces нужно остановить данный интерфейс, а после снова поднять. Это меня больше всего и бесит :(
Хотелось бы увидеть о настройке wifi ...
>>Хотелось бы увидеть о настройке wifi ...
Всякие networkmanager'ы у меня на ноуте не прижились, так что...
...так что выглядит оно вот так:
# Изменить тип интерфейса
wlanconfig ath0 destroy; wlanconfig ath0 create wlandev wifi0 wlanmode adhoc
# варианты кроме adhoc - см. man wlanconfig по AVAILABLE MODES
# посмотреть список сетей:
iwlist ath0 scan
# или
wlanconfig ath0 list ap
# Подключиться к открытой сети:
iwconfig ath0 essid SomeESSID
WEP-шифрование - iwconfig ath0 key ...
WPA-шифрование делается через wpa-supplicant
Великолепная статья, спасибо Михаил!
P.S. у вас опечатка в заголовке: "интерфеса" :)
2 h4tr3d пишет...
в Дебиане есть небольшая трабла, перед тем как записать изменения для интерфейса в /etc/network/interfaces нужно остановить данный интерфейс, а после снова поднять.
Это не баг, а фирменная фича :-)
2 HoverHell пишет...
...так что выглядит оно вот так:
# Изменить тип интерфейса
wlanconfig ath0 destroy;
HoverHell, огромное тебе человеческое спасибо! Обязательно добавлю это в пост!
2 Sereg@ пишет...
Великолепная статья, спасибо Михаил!
Я старался :-) Да и комментаторы тут сильно приложили руку.
у вас опечатка в заголовке: "интерфеса" :)
Большое спасибо - слона-то я и не приметил. Исправлено.
>>wlanconfig ath0 destroy
Я ещё тут вспомнил, что iwconfig тоже имеет параметр mode..
Просто у меня там Ad-Hoc не удалось поставить из-за драйвера :)
про роуты не чего не сказано (
Читала пост, потом столько же читала коментарии))) Думаю что стоит добавить полезные вырезки из коментов в сам пост, например такую: ">>Хотелось бы увидеть о настройке wifi ... и дальше написано про это". Спасибо за хорошоее объяснение!
У меня вот такой вопрос: как сделать так, чтобы eth0 не поднимался на старте системы? А то приходится вручную его глушить.
Глушу из-за того, что поднятом eth0 не получается выйти в инет по GPRS. Соединение идёт, но пакеты где-то в роутинге путаются.
Shortbread: Вообще, при старте системы поднимаются интерфейсы, помеченные auto в /etc/network/interfaces (кроме auto ещё, кажется, параметр dhcp может быть... Хотя, скорее, нет)
С другой стороны, у меня на ноутбуке скрипт перед запуском pppd для соединения с gprs просто тихо и незаметно удаляет дефолтный роут ("ip route del default 2>/dev/null || true" :) )
Ну и у pppd прописано defaultroute и usepeerdns.
Нет у мня в /etc/network/interfaces записей auto про eth0, единственное, к чему придраться можно - allow-hotplug eth0. А насчёт скрипта - я уже думал, да потом просто прописал в автозапуск гному sudo ifconfig eth0 down.
А сейчас вот думаю - а какого я просто не отключу встроенную сетевуху через биос? Всё равно у меня сети нет и не предвидится? :)
>>allow-hotplug eth0
Если я правильно вкурил man, при этой опции eth0 поднимается только при втыкании кабеля (если сетевая карта способна это определять)...
А отключать в биосе - особого смысла нет также.
Хотя, конечно, интересно, почему gprs-соединение может конфликтовать с сетевым интерфейсом. Или в interfaces на него прописан gateway, или чего-то мне интересно узнать. :)
Simple Wireless:
aptitude install wpasupplicant, wireless-tools;
Для Atheros карт ручками:
make madwifi;
Для ipw2200:
http://ipw2200.sourceforge.net/firmware.php
в каталог /lib/firmware/
/etc/network/interfaces:
iface ethX(athX) inet dhcp
wireless-essid WirelessNet
wpa-ssid "WIrelessNet"
wpa-psk "Secret_Phrase"
Тип шифрование определяется сам:
WPA, WPA2, TKIP ...
замечательная статья, только ссылка в самом конце про GPRS и линукс ведет не туда (ведет на смену MAC-адреса). спасибо.
в Дебиане есть небольшая трабла, перед тем как записать изменения для интерфейса в /etc/network/interfaces нужно остановить данный интерфейс, а после снова поднять. Это меня больше всего и бесит :(
собсно, возможно речь идёт именно о дебиане, т.к. в убунту я спокойно правлю /etc/network/interfaces с поднятыми интерфейсами, а только потом делаю /etc/init.d/networking restart и всё прекрасно получается...
да и в дебиане
не замечал такой проблемы
ну раз уж написал про ifdown eth0, можно написать и про ifup eth0, для его поднятия =)
хотя в случае одной карточки можно использовать и
# /etc/init.d/networking restart, последовательно запускающий ifdown и ifup для всех интерфейсов, кроме lo
Благодаря вашей статье настроил беспроводное соединение, которое не работало уже в течении нескольких последних ядер, приходилось пользоваться ethernet. Hо головокружение от успехов не успело наступить, так как после перезагрузки беспроводное опять пропало, осталось только то, что по веревке! Настроил снова, и опять после выключения та же история.
Причем пропало и соединение по веревке! Опять настроил... Сравнивая данные из dmesg iwconfig ifconfig я обнаружил, что при каждой загрузке ядро называет беспроводную карту по очереди eth0 -wifi0-eth2-wifi0-eth3, при этом ethernet-карта становится, в свою очередь, eth1-eth0-eth2-eth0
1.на том старом ядре, которое работало у меня год назад, такого не было, правда, оно само настроилось и стабильно работало, пока я не стал настолько умным, чтобы менять ядра.
2.Мне кажется, надо бы осветить этот момент, как вручную поправить конфиг (и какой именно, кроме interface), чтобы не тренироваться каждый раз.
3.По аналогии, настроил также звуковую карту, у которой ползунки были выключены в окне менеджера, а после освобождения их в среднее положение звука все равно не было!
Помогла ручная правка конфигурации esd. Но после выключения происходит все та же история - ползунки опять сбрасываются в положение mute, правда, конфиг править уже не приходится, достаточно их в окне поставить, как надо. Но, наверное, есть тоже еще один конфиг, благодаря которому ползунки сбрасываются. А в том дистре, которым я пользовался год назад, такой необходимости настройки после каждой перезагрузки не было. Это, конечно, еще один плюс того старого дистрибутива. Но хочется узнать, как вы поступили, чтобы настройки были окончательными, в том и другом случае?
Спасибо! Избавился наконец-то от NetworkManager'а
помогите плиз!!!! есть такой трабл, не наю, что с ним делать. каждый раз при перегрузки системы меняется сетевой интерфейс на +1...был eth0 стал eth1 и так далее.... помогите плиз..
СПАСИБО ЧЕЛОВЕЧЕСКОЕ
Отправить комментарий