Канал на Youtube


Бесплатная техподдержка !

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


  Уважаемые читатели, сегодня мы продолжаем настраивать наш Ubuntu Server 10.04 LTS. И эта наша статья - о настройке сети в операционной системе Linux.

  Для настройки сети через терминал нам понадобится подредактировать один конфигурационный файл. Открываем его в текстовом редакторе nano, выполнив: /etс/network/interfaces В этом файле хранятся настройки всех сетевых интерфейсов (сетевых карт). Знаком решетки в нем (#) экранируются комментарии. Для настройки используются следующие директивы (команды), вот что они значит по порядку:

  Команда auto eth0 - автоматически поднимать (запускать) интерфейс eth0

   Конструкция iface eth0 inet static/dhcp - на интерфейсе eth0 настройки будут назначены вручную/используя DHCP, они применяются для IPv4

  • address - IP адрес этого компьютера в сети
  • netmask - сетевая маска
  • network - номер подсети (не обязательно)
  • broadcast - широковещательный адрес (не обязательно)
  • gateway - адрес шлюза (не обязательно)
  • dns-nameservers - IP DNS сервера (не обязательно)
  • hwaddress ether - MAC адрес в формате 01:23:45:67:89:AB (если нужно подменить реальный, многие провайдеры используют привязку по MAC адресам)
  • up - команда, которую нужно выполнить при поднятии интерфейса (не обязательно)


  Нам нужно настроить 2 интерфейса, один (eth0) в сторону роутера (Интернета), второй (eth1) в нашу локальную сеть, для этого используем такую конфигурацию:

#To Internet
auto eth0
iface eth0 inet static
   address 192.168.1.2
   netmask 255.255.255.0
   gateway 192.168.1.1


#To local network
auto eth1
iface eth1 inet static
   address 192.168.0.254
   netmask 255.255.255.0

  Так как для сети 192.168.0.0/24 мы сами являемся шлюзом, мы указываем только IP и маску подсети на этом интерфейсе. Когда закончим настройку, нужно будет перезапустить сетевой интерфейс, для этого выполним /etс/init.d/networking restart если все правильно, то мы увидим следующее:

rоot@СoolServ:/home/asus# /etс/init.d/networking restart
* Reconfiguring network interfaces...
ssh stоp/waiting
ssh stаrt/running, process XXX
ssh stоp/waiting
ssh stаrt/running, process XXX

[ OK ]

  Проверить конфигурацию сетевых интерфейсов можно введя команду ifconfig и нажав Enter.

   Вот так будет выглядеть вывод для наших двух интерфейсов:

eth0      
Link encap:Ethernet  HWaddr 08:00:27:b7:ca:c8
inet addr:192.168.1.2 Bcast:192.168.1.255  Mask:255.255.255.0
inet6 addr: fe80::a00:27ff:feb7:cac8/64 Scope:Link
UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
RX packets:10643 errors:0 dropped:0 overruns:0 frame:0
TX packets:423 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:797796 (797.7 KB)  TX bytes:49487 (49.4 KB)

eth1      
Link encap:Ethernet  HWaddr 08:00:27:d6:f1:28
inet addr:192.168.0.254  Bcast:192.168.0.255  Mask:255.255.255.0
inet6 addr: fe80::a00:27ff:fed6:f128/64 Scope:Link
UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
RX packets:3840 errors:0 dropped:0 overruns:0 frame:0
TX packets:6 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:269174 (269.1 KB)  TX bytes:468 (468.0 B)

  Теперь у нас есть настроенные интерфейсы и сейчас надо проверить их работоспособность, т.е. - есть ли связь между нашими компьютерами и сервером? Для этого выполним на любом нашем компьютере команду ping 192.168.0.254 , мы должны увидеть следующее:

Выполнение команды ping

  Это значит, что наша сеть работает исправно и можно продолжать.

   Если планируется иметь доступ ко многим сетям, нам нужно прописать маршрутизацию. Вот несколько примеров которые можно использовать в этом файле /etс/network/interfaces

  •   up route add default gw 192.168.1.1 eth0 – Установить шлюз по умолчанию 192.168.1.1 который доступен через интерфейс eth0
  •   up route add -net 10.0.0.0 netmask 255.255.255.0 gw 192.168.0.253 eth1 — Добавление маршрута в сеть 10.0.0.0 с маской 255.255.255.0 которая доступна через шлюз с IP
     

  192.168.0.253 и интерфейс eth1. Вместо маски вида 255.255.255.0 можно использовать битовую маску, те команда будет выглядеть так route add -net 10.0.0.0/24 gw 192.168.0.253 eth1 О масках и их назначении мы говорили в предыдущей статье.

   Также эти команды можно использовать в терминале, только не указывая up, например: route add default gw 192.168.1.1 eth0

  Чтобы удалить маршрут в сеть 10.0.0.0 используется команда route -f 10.0.0.0 (Flush)
   Чтобы очистить всю таблицу маршрутов можно использовать route -f
   Для просмотра таблицы маршрутизации используется route или netstat -rn для него вывод будет выглядеть так:

Таблица маршрутизации ядра протокола IP

Destination Gateway Genmask Flags Metric Ref Use Iface
10.0.0.0 192.168.0.253 255.255.255.0 UG 0 0 0 eth1
localnet * 255.255.255.0 U 0 0 0 eth0
192.168.0.0 * 255.255.255.0 U 0 0 0 eth1
default 192.168.1.1 0.0.0.0 UG 100 0 0 eth0


  Что это все значит?

Destination - сеть назначения, default - маршрут по умолчанию
Gateway - шлюз, через который доступна сеть назначения, * - непосредственно подключенная.
Genmask - маска подсети
Flags - список флагов

  • U (route is up) - маршрут используется
  • H (target is a host) - цель маршрута - хост
  • G (use gateway) - используется шлюз
  • R (reinstate route for dynamic routing)
  • D (dynamically installed by daemon or redirect) - маршрут получен динамически
  • M (modified from routing daemon or redirect) - модифицирован демоном (службой)
  • A (installed by addrconf)
  • C (cache entry)
  • !  (reject route)


Metrik - метрика, определяет приоритет маршрута, чем ниже, тем больший приоритет маршрута. (используется routing демонами)
Ref - количество ссылок на этот маршрут (не используется в Linux ядре)
Use - граф поисков для маршрута
Iface - интерфейс с которого будет доступна сеть

  Разберем пару строк:

Destination Gateway Genmask Flags Metric Ref Use Iface
10.0.0.0 192.168.0.253 255.255.255.0 UG 0 0 0 eth1
default 192.168.1.1 0.0.0.0 UG 0 0 0 eth0


  Сеть 10.0.0.0 с маской 255.255.255.0 доступна через шлюз 192.168.0.253 на интерфейсе eth1, маршрут активен и указывает на сеть.

  Все пакеты, для которых не получилось определить маршрут, будут отправлены на шлюз 192.168.1.1 на интерфейсе eth0 Метрика 0 указывает на то, что маршрут будет выбран в последнюю очередь, если ничего больше не подойдет.




cubeec
Все понятно и удобно расписано, спасибо! Хотя дефолтный маршрут в месте "разберем пару строк" с метрикой 0, а не 100.
Но это не суть, хотя кого-то может сбить с толку   !;)

vady-ra
Спасибо, да, там опечатка, должен быть 100. Спасибо.

Кахович Андрей
Поправил.

ГеннадийХ Хартимеев
Отличное изложение темы! Спасибо!

Кахович Андрей
Спасибо и Вам, передам пожелания автору статьи!   !;)

Владимир
Спасибо за продолжение курса и ваш труд.

Кахович Андрей
Спасибо и Вам за комментарий. Надеюсь, в статье все было понятно?


Страницы: [1]


Бесплатные авторские уроки !