Суббота, 20.04.2024, 14:56
Приветствую Вас Гость | RSS

Настройка Ubuntu / Debian

Меню сайта
Форма входа
Поиск
Календарь
«  Июль 2009  »
ПнВтСрЧтПтСбВс
  12345
6789101112
13141516171819
20212223242526
2728293031

Дневник

Главная » 2009 » Июль » 24 » Настройка проводной сети в Ubuntu
17:13
Настройка проводной сети в Ubuntu
При настройке проводной сети возникают проблемы с стандартным Network Manager`ом. Я решил не ити дебрями и сделал так:
1. Удалить
Network Manager к чертовой бабушке:

sudo apt-get remove --purge network-manager-gnome network-manager

при этом не забываем что апдейтер должен быть выключен иначе ничего не выйдет.

2.
Настраиваем конфигурации сети:

Настройка интерфейсов по DHCP


Вводим команду sudo gedit /etc/network/interfaces и правим файл!

В файле /etc/network/interfaces хранятся настройки всех сетевых интерфейсов. Рассмотрим, как конфигурируется сетевой интерфейс. Сетевой интерфейс lo – обратная петля (его IP-адрес 127.0.0.*), использующийся для тестирования сетевой подсистемы, всегда конфигурируется автоматически. Нет необходимости настраивать его как-нибудь иначе. Для настройки этого интерфейса используются строки:

auto lo
iface lo inet loopback

Мы пытаемся настроить сетевой Ethernet-интерфейс. Имя этого интерфейса – ethN, где N – это номер. Нумерация начинается с 0. Обычно в системе только одна сетевая плата, поэтому имя интерфейса будет eth0. Если у вас две сетевые платы, то имена у них будут, соответственно, eth0 и eth1. По умолчанию интерфейс eth0 настраивается так:
auto eth0 
iface eth0 inet dhcp

Строка auto eth0 указывает на то, что этот интерфейс должен автоматически "подниматься" при запуске системы. Вторая строка говорит о том, что интерфейс настраивается автоматически по DHCP. 

Сохраняем, затем

/etc/init.d/networking restart все пользуемся

Настройка интерфейсов вручную

Для ручной настройки нужно указать строку в файле interfaces:
iface eth0 inet static address адрес netmask маска gateway шлюз

Например, если у вас IP-адрес 192.168.1.10, маска сети 255.255.255.0, то конфигурация будет такой:

iface eth0 inet static 
address 192.168.110
netmask 255.255.255.0
gateway 192.168.1.1

Параметр gateway – необязательный. Если шлюза нет (сеть без выхода в Интернет), то этот параметр можно не указывать:
iface eth0 inet static 
address 192.168.1.10
netmask 255.255.255.0

Можно использовать необязательные параметры network и broadcast, задающие, соответственно, адрес сети и широковещательный адрес:

iface eth0 inet static 
address 192.168.1.10
netmask 255.255.255.0
network 192.168.1.0
broadcast 192.168.0.255
gateway 192.168.1.1

Запуск программ при поднятии и закрытии интерфейса

При настройке сетевого интерфейса можно запускать определенные конфигурационные программы:

up <программа и ее параметры>

Обычно это используется для запуска программы route, управляющей маршрутизацией. Например, следующая команда сообщает, что путь к сети 192.168.2.0 будет осуществляться через шлюз 192.168.1.2:

up route add -net 192.168.2.0 netmask 255.255.255.0 gw 192.168.1.2

При этом шлюзом по умолчанию, на который будут отправлены все остальные пакеты (которые не адресованы сети 192.168.2.0), будет шлюз 192.168.1.1:

up route add default gw 192.168.1.1

Аналогично, команда down используется для запуска программ при "закрытии" сетевого интерфейса:

down route del default gw 192.168.1.1 down route del -net 192.168.2.0 netmask 255.255.255.0 gw 192.168.1.2

Первая команда удаляет маршрут по умолчанию, а вторая – маршрут к сети 192.168.2.0

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

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

auto eth0 iface eth0 inet static
address 192.168.1.10
netmask 255.255.255.0
gateway 192.168.1.1

Сложные конфигурации

Если у вас два сетевых адаптера, то они настраиваются аналогично, только указываются разные имена интерфейсов. Вот пример настройки двух сетевых адаптеров:
auto eth0 
iface eth0 inet dhcp

auto eth1
iface eth1 inet static
address 192.168.1.10
netmask 255.255.255.0
gateway 192.168.1.1

Интерфейс eth0 настраивается по DHCP, а интерфейс eth1 настраивается вручную. В этой главе мы упомянули технологию VLAN (Virtual Local Area Network), позволяющую одному сетевому адаптеру присвоить несколько IP-адресов. Так как у нас всего одна сетевая плата, то имя первого виртуального интерфейса – eth0, имя второго – eth0:1. Обратите внимание: не eth1, а eth0:1, что указывает, что это виртуальный интерфейс, работающий через физический интерфейс eth0.

Вот пример такой конфигурации:

auto eth0 eth0:1 
iface eth0 inet static
address 192.168.0.100
network 192.168.0.0
netmask 255.255.255.0
broadcast 192.168.0.255
gateway 192.168.0.1

iface eth0:1 inet static
address 192.168.0.200
network 192.168.0.0
netmask 255.255.255.0

Прежде, чем рассмотреть следующую конфигурацию, нужно рассмотреть команды pre-up и pre-down:

  • pre-up – позволяет запускать команды перед поднятием интерфейса
  • pre-down – позволяет запускать команды перед закрытием интерфейса

Вот пример запуска интерфейса eth0 при условии, что файл /etc/network/local-network-ok существует. Если такой файл не существует, интерфейс eh0 не поднимется:

auto eth0 
iface eth0 inet dhcp
pre-up [ -f /etc/network/local-network-ok ]

Но это только теоретический пример, на практике команды pre-up и pre-down используются для более серьезных вещей. Предположим, что у вас есть два сетевых интерфейса – eth0, подключенный к локальной сети и eth1, подключенный к Интернету. Это типичная конфигурация компьютера-шлюза

auto eth0 eth1 
iface eth0 inet static
address 192.168.1.1
netmask 255.255.255.0
pre-up /usr/local/sbin/enable-masq
iface eth1 inet dhcp
pre-up /usr/local/sbin/firewall

Перед поднятием этих интерфейсов неплохо бы проверить их MAC-адреса (уникальные аппаратные адреса). Сейчас поясню, для чего. Сегодня у вас есть два интерфейса eth0 с MAC-адресом А и eth1 с MAC-адресом Б. Завтра вы установили новое ядро, использующее иной порядок поиска сетевых интерфейсов и сетевая карта с MAC-адресом Б стала интерфейсом eth0, а плата с MAC-адресом А стала интерфейсом eth1. Сами понимаете, что ваша конфигурация не будет работать. Поэтому нужно проверить MAC-адреса интерфейсов:

auto eth0 eth1 
iface eth0 inet static
address 192.168.1.1
netmask 255.255.255.0
pre-up /path/to/check-mac-address.sh eth0 XX:XX:XX:XX:XX:XX
pre-up /usr/local/sbin/enable-masq
iface eth1 inet dhcp
pre-up /path/to/check-mac-address.sh eth1 AA:BB:CC:DD:EE:FF
pre-up /usr/local/sbin/firewall

Программа check-mac-address.sh – это сценарий, проверяющий MAC-адрес. Его можно найти в каталоге /usr/share/doc/ifupdown/examples, но не нужно этого делать, поскольку сейчас мы опишем более совершенную конфигурацию, идентифицирующую интерфейсы по MAC-адресу, а не по имени интерфейса:

auto eth0 eth1 
mapping eth0 eth1
script /path/to/get-mac-address.sh
map 11:22:33:44:55:66 lan
map AA:BB:CC:DD:EE:FF internet
iface lan inet static
address 192.168.42.1
netmask 255.255.255.0
pre-up /usr/local/sbin/enable-masq $IFACE
iface internet inet dhcp
pre-up /usr/local/sbin/firewall $IFACE

Сценарий get-mac-address.sh можно найти в каталоге /usr/share/doc/ifupdown/examples. Лучше всего скопировать его в каталог /usr/bin и сделать исполнимым:

cp /usr/share/doc/ifupdown/examples/get-mac-address.sh /usr/bin
chmod +x /usr/bin/get-mac-address.sh

Если по какой-то причине этого файла у вас нет, то его листинг приведен ниже

Листинг. Файл get-mac-address.sh

#!/bin/sh

set -e

export LANG=C

iface="$1"
mac=$(/sbin/ifconfig "$iface" | sed -n -e '/^.*HWaddr \([:[:xdigit:]]*\).*/{s//\1/;y/ABCDEF/abcdef/;p;q;}')
which=""

while read testmac scheme; do
if [ "$which" ]; then continue; fi
if [ "$mac" = "$(echo "$testmac" | sed -e 'y/ABCDEF/abcdef/')" ]; then which="$scheme"; fi
done

if [ "$which" ]; then echo $which; exit 0; fi
exit 1

Файл /etc/network/interfaces может использоваться для настройки любых сетевых интерфейсов, а не только для настройки Ethernet-интерфейсов. Вот пример настройки DSL-интерфейса dsl-provider, созданного программой pppoeconf:

auto dsl-provider
iface dsl-provider inet ppp
pre-up /sbin/ifconfig eth0 up
provider dsl-provider

Категория: Linux / Debian | Просмотров: 6783 | Добавил: CheGuevara | Рейтинг: 0.0/0
Всего комментариев: 0
Имя *:
Email *:
Код *:
Наш опрос
Оцените мой сайт
Всего ответов: 26
Статистика

Онлайн всего: 1
Гостей: 1
Пользователей: 0