В этой стать будет рассмотрено множество способов по работе с сетевыми интерфейсами.
Все сетевые настройки прописаны в файле /etc/network/interfaces, который и изменяется под нужные сетевые настройки для Вашего компьютера.
В Debian все изменения файла /etc/network/interfaces делаются через команду sudo, так как требуются права супер пользователя на изменение конфигурационных файлов, пример:
для использование редактора vi: sudo vi /etc/netwotk/interface для использование редактора nano: sudo nano /etc/netwotk/interface для использование редактора mcedit: sudo mcedit /etc/netwotk/interface
Зависит от того, с каким редактором Вам больше нравится работать.
Настройка интерфейсов по DHCP
Рассмотрим, как требуется настраивать сетевой интерфейс. Сетевой интерфейс lo – обратная петля (его IP-адрес 127.0.0.*), использующийся для тестирования сетевой подсистемы, всегда настраивается автоматически и не требуется его настраивать как то по иному.
Для настройки интерфейса lo используются следующие строки в файле /etc/network/interfaces:
auto lo iface lo inet loopback
Далее настраиваем сетевую карту, если сетевая карта у Вас одна, то она будет называться eth0, если две, то вторая будет идти как eth1, можно также устанавливать на одну сетевую карту по два и более IP адресов, что будет рассмотрено ниже...
Настройка сетевой карты eth0 под автоматическое получения рабочей группы (DHCP):
auto eth0 iface eth0 inet dhcp
Строка "auto eth0" указывает системе запускать автоматически этот интерфейс с настройкой при загрузке системы и при перезапуске службы сети.
И наш конфигурационный файл /etc/network/interfaces, теперь выглядит таким образом:
auto lo iface lo inet loopback auto eth0 iface eth0 inet dhcp
Также можно написать и таким образом:
auto lo eth0 iface lo inet loopback iface eth0 inet dhcp
Теперь можно сделать перезапуск службы сети коммандой:
sudo /etc/init.d/networking restart
ifconfig
iface eth0 inet static address адрес netmask маска gateway шлюз
Например, если у вас IP-адрес 192.168.0.200, маска сети 255.255.255.0, то строка конфигурации будет такой:
iface eth0 inet static address 192.168.0.200 netmask 255.255.255.0 gateway 192.168.0.1
Необязательно все прописывать в одну строчку, можно записать так:
iface eth0 inet static address 192.168.0.200 netmask 255.255.255.0 gateway 192.168.0.1
Параметр gateway – необязательный. Если сеть без выхода в Интернет, то этот параметр можно не указывать:
iface eth0 inet static address 192.168.0.200 netmask 255.255.255.0
Можно использовать необязательные параметры network и broadcast, задающие, соответственно, адрес сети и широковещательный адрес:
iface eth0 inet static address 192.168.0.200 netmask 255.255.255.0 network 192.168.0.0 broadcast 192.168.0.255 gateway 192.168.0.1
auto eth0 iface eth0 inet dhcp auto eth1 iface eth1 inet static address 192.168.0.200 netmask 255.255.255.0 gateway 192.168.0.1
auto eth0 eth0:1 eth0:2 iface eth0 inet static address 192.168.0.201 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.202 network 192.168.0.0 netmask 255.255.255.0 iface eth0:2 inet static address 192.168.0.203 network 192.168.0.0 netmask 255.255.255.0
Вот пример запуска интерфейса 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 xx:xx:xx:xx:xx:xx 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 xx:xx:xx:xx:xx:xx lan map xx:xx:xx:xx:xx:xx 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
auto dsl-provider iface dsl-provider inet ppp pre-up /sbin/ifconfig eth0 up provider dsl-provider
Если есть вопросы, то просим Вас посетить наш форум [2], на котором Вы сможете попросить бесплатно описание...
Ссылки:
[1] http://htfl.ru/linux/debian
[2] /out.php?link=http://htff.ru/