headermask image
Рекомендую: Фриланс-биржа | Кэшбэк-сервис | Интернет-бухгалтерия

Переход с Windows на Linux: Работа с сетью

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

К счастью, Linux изначально создавался для работы с сетью. В сущности, работа с сетью — это одна из сильных сторон Linux. Linux поддерживает популярные сетевые протоколы, такие как TCP/IP и SMB (NetBIOS), обладает усовершенствованными инструментами для мониторинга и фильтрации сетевого трафика. В Linux доступны такие службы как FTP, web-сервер, Windows файл- и принтсервер. Linux даже предоставляет возможность централизованного управления службами, Virtual Private Networking (VPN) и удаленного вызова процедур.

Сетевое оборудование

Linux может работать с любым сетевым оборудованием, для которого у него есть драйвер. Драйвера Linux либо встраиваются в ядро, либо компилируются как загружаемые модули. Многие распространенные сетевые карты по умолчанию поддерживаются ядром Linux. При выборе сетевого оборудования стоит использовать устройства, перечисленные в списке совместимых устройств “Hardware Compatibility List”. Используйте самые последние версии дистрибутивов Linux.

Как правило, если вы используете совместимое сетевое оборудование, ваша карта будет автоматически распознана при инсталляции системы. Вы можете проверить сетевое оборудование, обнаруженное системой, используя команду ifconfig. По умолчанию ifconfig демонстрирует вам активные сетевые устройства. Для того чтобы увидеть все сетевые устройства, добавьте ключ -a:

[root@cmw-t30 root]# ifconfig -a
eth0 Link encap:Ethernet HWaddr 00:09:6B:60:8B:1E
inet addr:9.41.209.160 Bcast:9.41.209.255 Mask:255.255.255.0
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:47255 errors:0 dropped:0 overruns:0 frame:0
TX packets:32949 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:100
RX bytes:22140365 (21.1 Mb) TX bytes:13519623 (12.8 Mb)
Interrupt:11 Base address:0xf000
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:1308081 errors:0 dropped:0 overruns:0 frame:0
TX packets:1308081 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:183376967 (174.8 Mb) TX bytes:183376967 (174.8 Mb)

В выше приведенном примере в системе есть только одна сетевая карта, идентифицированная как eth0. Адаптер lo — это loopback (адаптер обратной связи), используемый системой для обращения к самой себе. Позднее мы рассмотрим команду ifconfig подробнее.

Имена сетевых устройств

В процессе конфигурации сетевым устройствам Linux присваиваются имена, состоящие из наглядной аббревиатуры и номера. Первое устройство данного типа имеет номер 0, остальные нумеруются 1, 2, 3 и т.д. Используется следующее соглашение о наименовании. Информация взята из руководства для сетевых администраторов Linux Network Administrator’s Guide

  • eth0, eth1
    Это интерфейсы Ethernet-карт. Используются для большинства Ethernet-карт, включая многие Ethernet-карты, подключаемые через параллельный порт.
  • tr0, tr1 …
    Это интерфейсы карт Token Ring. Используются для большинства карт Token Ring, включая карты, произведенные не компанией IBM.
  • s10, s11 …
    Это SLIP интерфейсы. SLIP интерфейсы связаны с последовательными портами в том порядке, в котором они назначаются для SLIP.
  • ppp0, ppp1 …
    Это PPP интерфейсы. Подобно SLIP интерфейсам, PPP интерфейс связывается с последовательным портом, как только он переходит в PPP-режим.
  • plip0. plip1 …
    Это PLIP интерфейсы. PLIP передает IP датаграммы через параллельные порты. Интерфейсы распределяются драйвером PLIP при загрузке системы и связываются с параллельными портами. В ядрах версий 2.0x существует прямая связь между именем устройства и портом ввода-вывода параллельного порта, а в ядрах более поздних версий имена устройств назначаются последовательно точно так же, как для SLIP и PPP устройств.
  • ax0, ax1 …
    Это AX.25 интерфейсы. AX.25 — основной протокол, используемый для любительской радиосвязи. AX.25 интерфейсы распределяются и отображаются аналогично интерфейсам SLIP.

Есть еще немало других типов интерфейсов для других сетевых драйверов. Мы перечислили лишь самые распространенные.

Мы остановимся подробно на Ethernet, поскольку это наиболее распространенная сетевая конфигурация.

Настройка сети

Настройка сети производится в процессе инсталляции вашего дистрибутива Linux. В исходной конфигурации у вас уже, вероятно, будет активное устройство eth0. Эта конфигурация может удовлетворять вас первое время, однако впоследствии вам, возможно, потребуется внести в нее изменения. Мы рассмотрим различные аспекты конфигурации, связанные с IP-сетями, файлами и утилиты для работы с ними.

Webmin

Webmin содержит хороший набор инструментов для настройки сети (Network Configuration) в разделе Networking. Вы можете настраивать интерфейсы по отдельности и менять их текущие или сохраненные установки. Кроме того, вы можете менять настройки Routing and Gateways, DNS Client, а также статическую таблицу для поиска имён узлов. После окончания конфигурирования вы можете применить новые установки, щелкнув на Apply Configuration. Перезагружать систему при этом не обязательно.

Утилиты, включенные в дистрибутивы

Каждый дистрибутив содержит собственный набор инструментов для настройки сети. Чтобы узнать, какие именно утилиты содержит ваш дистрибутив, обратитесь к его документации. Все утилиты содержат, по сути, те же настройки, что и Webmin. Некоторые из них могут содержать так же опции, характерные для данного дистрибутива.
redhatconfnet.jpg
Утилита redhat-config-network из Red Hat 8.x и 9.x
yast2_network2.jpg
SuSE и United Linux используют утилиту YAST

Кроме того, вы можете настроить сеть вручную, однако этот вопрос требует тщательной проработки. Информацию, касающуюся ручной конфигурации сети, вы найдете в документации к вашему дистрибутиву.

Средства анализа и мониторинга

В Linux предусмотрено множество средств мониторинга сетевых задач.

ifconfig
Выше мы рассматривали, как, используя команду ifconfig, узнать статус сетевой карты. Однако, команда ifconfig служит не только для вывода информации об устройствах, но так же и для их настройки. Предположим, вы хотите настроить некую временную конфигурацию для тестирования. Вы можете отредактировать настройки, используя встроенные в дистрибутив инструменты, однако при этом вам придется запомнить все исходные установки, чтобы восстановить их в конце. Используя же команду ifconfig, вы можете быстро сконфигурировать карту, не затрагивая сохраненные настройки:

ifconfig eth0 192.168.13.13 netmask 255.255.255.0 up

Команда выше задает для eth0 адрес 192.168.13.13 в сети класса C и активирует устройство, если оно было отключено.

ipconfig eth0 down

Команда выше отключает устройство eth0. Полное описание команды ifconfig вы можете найти на странице info ifconfig.

ifup/ifdown
Команды ifup и ifdown служат для того, чтобы активировать и дезактивировать сетевые устройства, используя их сохраненные настройки.

# Активирует eth0 используя сохраненные настройки
ifup eth0
# Отключает eth0
ifdown eth0

netstat
Консольная команда netstat используется для вывода сетевых подключений, таблиц маршрутизации, статистики интерфейсов, маскарадинга и вхождения в multicast. Для управления командой netstat служат несколько ключей командной строки.

Чаще всего я использую команду netstat, чтобы увидеть соединения, которые находятся в состоянии LISTEN или ESTABLISHED. LISTEN означает, что в вашей системе есть службы, которые ожидают соединения от других машин. ESTABLISHED — это активное соединение между вашей и другими машинами. Убедитесь, что вы знаете все работающие программы, использующие соединение LISTEN. Если вы видите что-то неизвестное, это может быть небезопасным явлением. netstat обладает большим количеством опций. Для получения подробной информации наберите в командной строке info netstat.

route
С помощью консольной команды route можно вывести на экран таблицу маршрутизации IP и оперировать с ней.

При вызове route без ключей будет отражена текущая таблица маршрутизации. Используя route, вы можете вносить очень тонкие изменения в содержимое таблицы маршрутизации.

route add default gw 10.10.10.1

Приведенная выше команда добавляет маршрут по умолчанию (маршрут, который будет использован, если все другие указанные маршруты не подходят). Все пакеты, использующие маршрут по умолчанию, будут направлены через шлюз “10.10.10.1″. Устройство, которое будет фактически использоваться для этого маршрута, зависит от того, как мы можем достичь “10.10.10.1″ – поэтому статический маршрут “10.10.10.1″ должен быть настроен прежде всего.

route add -net 192.56.76.0 netmask 255.255.255.0 dev eth0

Приведенная выше команда добавляет маршрут к сети 192.56.76.x через устройство “eth0.” В данном случае модификатор маски сети класса C не обязателен, так как адреса 192.* принадлежат сетям класса C. В этой команде “dev” может быть пропущено.

Маршрутизация — это очень объемная тема. Полную информацию об опциях route можно получить, набрав info route.

Выводы

Linux с самого начала предназначался для работы с сетью. В него встроены сложные функции, которые раньше можно было найти только в высокотехнологичных системах, внедряемых в корпорациях. Тем не менее, несмотря на всю свою мощь, конфигурация сети в Linux не сложнее, чем в Windows. Такие инструменты, как Webmin, redhat-config-network и YAST предоставляют возможность конфигурации сети в графическом режиме. Средства ifconfig и route позволяют визуализировать и модифицировать сетевые параметры с помощью консоли или скрипта. С помощью netstat можно просмотреть отдельные сетевые подключения и их взаимодействие с запущенными процессами.

Взято на ibm.com

2 комментов оставлено (Add 1 more)

  1. О ценичном состоянии Linux,оно в большинстве такое,что всякий юзер,
    подобен ишаку,идущему за морковкой.(!)И так почти во всей Сети.
    Никуда не годится,такое.

    1. Борис on October 10th, 2010 at 3:03 am
  2. Спасибо,отличная статья, а какой командой можно включить и выключить само подключение? Всмысле как в винде сетевое окружение “сетевые подключения” второй кнопкой на подключение “отключить” или “включить”.

    2. linux on January 10th, 2010 at 5:14 pm

One Trackback

  1. By more on December 16, 2007 at 1:04 am

    greatings…

    usefull…