- Настройка TCP/IP в CentOS
- проверка наличия драйверов сетевой карты
- просмотр текущей конфигурации сети
- динамическая настройка параметров сети
- включение / отключение сетевого интерфейса
- настройка маршрутизации
- добавление маршрутов
- просмотр таблицы маршрутов
- удаление маршрутов
- настройка DNS
- настройка параметров сети с помощью файлов конфигураций
- расположение конфигурационных файлов
- структура конфигурационных файлов
- ifcfg-ethX
- resolv.conf
- route-ethX
- перезагрузка сетевого сервиса
- примеры файлов
- Настройка сети в Linux через конфиг-файлы, ч.1
- Ручная настройка сети в Linux
- Привязка интерфейса к карте
- ifcfg
- route
- Ручная настройка сети в ArchLinux
- Ручная настройка сети в Ubuntu
- Ручная настройка сети в CentOS 6
- Общие настройки сети
- Конфигурация интерфейса
- Настройка DNS
- Настройка брандмауэра
Настройка TCP/IP в CentOS
проверка наличия драйверов сетевой карты
Чтобы узнать, загружены ли драйверы сетевой карты, запустите команду:
dmesg | grep eth
Если в результате Вы увидите какие-либо сообщения, содержащие текст ethX, то значит, драйверы установлены успешно, и необходимо только поднять/настроить интерфейс сетевой карты.
просмотр текущей конфигурации сети
Для того, чтобы узнать текущие параметры сети в CentOS, есть очень простой способ — запустите команду:
Если среди отображаемых интерфейсов не присутствуют интерфейсы ethX (eth0, eth1, . ), то либо не загружены драйвера сетевой карты (она не опознана), либо не поднят сетевой интерфейс.
динамическая настройка параметров сети
Обратите внимание: в данном случае настройки сети будут применяться сразу же, но они не сохранятся после перезагрузки!
Для настройки IP адреса и маски подсети наберите в командной строке:
ifconfig -a netmask
например:
ifconfig -a eth0 192.168.1.15 netmask 255.255.255.0
для настройки шлюза по умолчанию укажите в командной строке
route add default gw
например:
route add default gw 192.168.1.1
включение / отключение сетевого интерфейса
После того, как Вы настроили сеть, она по-прежнему может бьть недоступна. Причиной может быть то, что не включен (т.е. не «поднят») сетевой интерфейс.
Включить сетевой интерфейс можно командой:
ifconfig up
например:
ifconfig eth0 up
Отключить сетевой интерфейс не менее просто:
ifconfig down
например:
ifconfig eth0 down
настройка маршрутизации
добавление маршрутов
Маршруты добавляются командой:
route add -net / gw
например:
route add -net 192.168.5.0/24 gw 10.0.1.1
просмотр таблицы маршрутов
Для просмотра таблицы маршрутизации запустите команду:
netstat -rn
или
route -n
удаление маршрутов
Маршруты удаляются командой:
route delete -net /
например:
route delete -net 192.168.5.0/24
настройка DNS
возможна только через файл /etc/resolv.conf (см. ниже)
настройка параметров сети с помощью файлов конфигураций
Если Вы хотите настроить сеть таким образом, чтобы указанные параметры сети сохранялись и после перезагрузки системы, Вам необходимо изменить конфигурационные файлы.
расположение конфигурационных файлов
Настройка параметров сети (IP адрес, маска сети, шлюз, параметры DNS) производится в файлах ifcfg-ethX, которые находятся в папке /etc/sysconfig/network-scripts.
Параметры DNS описываются также в файле /etc/resolv.conf.
Маршруты (из таблицы маршрутизации) хранятся в файлах /etc/sysconfig/network-scripts/route-ethX.
структура конфигурационных файлов
ifcfg-ethX
Файлы находятся в папке /etc/sysconfig/network-scripts.
Название параметра | Описание параметра | Возможные значения | Пример использования |
---|---|---|---|
DEVICE | наименование интерфейса | eth0 eth1 . | device=eth0 device=eth1 |
BOOTPROTO | способ назначения IP | dhcp none static (пустое значение) | bootproto=dhcp bootproto= bootproto=static bootproto=none |
HWADDR | MAC адрес | HWADDR=»00:00:00:00:00:00″ | |
NM_CONTROLLED | должен ли интерфейс управляться NetworkManager | «yes» «no» | NM_CONTROLLED=»yes» |
ONBOOT | Должен ли этот интерфейс «подниматься» при запуске сетевой службы | «yes» «no» | ONBOOT=»yes» |
TYPE | тип интерфейса | «Ethernet» | TYPE=»Ethernet» |
UUID | UUID=»ffffffff-ffff-ffff-ffff-ffffffffffff» | ||
IPADDR | IP адрес интерфейса | IPADDR=192.168.1.3 | |
NETMASK | маска подсети интерфейса | NETMASK=255.255.255.0 | |
GATEWAY | шлюз интерфейса | GATEWAY=192.168.1.1 | |
DNS1 | 1-й DNS сервер интерфейса | DNS1=192.168.1.1 | |
DNS2 | 2-й DNS сервер интерфейса | DNS2=192.168.1.2 | |
DOMAIN | текущий домен | DOMAIN=MYDOMAIN.LOCAL |
resolv.conf
Этот файл находится в папке /etc.
Название параметра | Описание параметра | Возможные значения | Пример использования |
---|---|---|---|
nameserver | адрес DNS сервера. Таких записей может быть несколько (не более 3-х) | nameserver 192.168.1.1 nameserver 192.168.1.2 | |
domain | имя локального домена (?) | domain mydom.local | |
search | подставляемое имя домена, если адрес задан не полностью | search mydom.local |
route-ethX
Файлы находятся в папке /etc/sysconfig/network-scripts.
Формат файла:
/ via dev
например:
192.168.5.50/24 via 192.168.0.2 dev eth0
или
5.12.35.141/16 via 192.168.1.3 dev eth1
Шлюз по умолчанию задается в файлах ifcfg-ethX. Можно также указать шлюз по умолчанию, например, следующим образом:
default via 192.168.0.1 dev eth0
В файле route-eth0 нужно указывать все маршруты с dev eth0, а в файле route-eth1 — соответственно, все маршруты с dev eth1.
перезагрузка сетевого сервиса
Перезагрузить сетевой сервис (при этом перезагружаются все сетевые интерфейсы) в CentOS можно командой:
service network restart
При этом перезапускаются все конфигурационные файлы из каталога /etc/sysconfig/network-scripts.
примеры файлов
Пример файла /etc/sysconfig/network-scripts/ifcfg-eth0:
Пример файла /etc/sysconfig/network-scripts/route-eth0:
Источник
Настройка сети в Linux через конфиг-файлы, ч.1
Первое моё общение с Линуксом состоялось около шести лет назад. Тогда это был какой-то свежевышедший Red Hat, который мы с другом смогли установить, но при этом войти в него у нас так и не получилось.
Однако статья не об этом. Позже через мои руки и голову прошли почти все семейства дистрибутивов Linux, и везде я замечал свои подходы к автонастройке сети. И в этом цикле статей я постараюсь осветить наиболее популярные из них. Надеюсь, они будут полезны тем пользователям, которые пока ещё нажимают на кнопки и проставляют галочки в графических менеджерах настройки, но уже понимают, что это не true 🙂
Возможно познавательными эти статьи будут и тем, кто (не от большого знания) пишет свои скрипты управления сетью и помещает их в какой-нибудь rc.local
Итак, в первой части речь пойдёт о семействе номер один, одном из самых обширных по числу дистрибутивов, Red Hat based.
Сюда, например, относятся такие используемые сейчас дистрибутивы, как:
- Fedora
- RHEL/CentOS
- Mandriva
- ASPLinux
Служебные скрипты для настройки сети и сами конфиг-файлы в этих дистрибутивах хранятся по традиции в каталоге /etc/sysconfig/network-scripts/
Там вы найдёте несколько скриптов ifup-* и столько же ifdown-*, которые, соответственно, поднимают или опускают определённый тип интерфейса, а также ifcfg-* (звёздочка — это имя), где хранятся настройки этих самых интерфейсов.
Если сеть ещё не настроена, то вы обнаружите там ifcfg-lo, описывающий интерфейс loopback. В имеющейся у меня под рукой Fedora Core 7 этот файл выглядит следующим образом: (комментарии из файла удалены)
DEVICE=lo
IPADDR=127.0.0.1
NETMASK=255.0.0.0
NETWORK=127.0.0.0
BROADCAST=127.255.255.255
ONBOOT=yes
NAME=loopback
Не все параметры, перечисленные здесь являются обязательными. Зачастую чтобы задать интерфейс достаточно указать IPADDR и NETMASK. Параметр DEVICE необходим, если вы хотите, чтобы в имени скрипта после «ifcfg-» стояло не имя интерфейса, а какое-нибудь другое слово. Здесь же можно указывать такие параметры как GATEWAY, BOOTPROTO (static или dhcp), HWADDR (если есть желание изменить mac-адрес интерфейса) и так далее. Полный список возможных параметров зависит от типа поднимаемого интерфейса и дистрибутива. А, учитывая скудность официальной информации, его можно узнать и познать только перелопатив скрипты.
Такими конфиг-файлами можно задавать различные ppp-интерфейсы, ip-туннели, vlan’ы и так далее.
Следующий пример показывает настройку ipip-туннеля (ifcfg-tun0):
DEVICE=tun0
MY_OUTER_IPADDR=172.16.0.2
PEER_OUTER_IPADDR=192.168.0.1
MY_INNER_IPADDR=10.0.0.2
PEER_INNER_IPADDR=10.0.0.1
TYPE=IPIP
TTL=255
В этом примере мы, имея адрес 172.16.0.2, создаём туннель с машиной 192.168.0.1, указывая TTL=255, и присваиваем туннелю адрес 10.0.0.2 peer 10.0.0.1.
Не все знают, что помимо файлов ifcfg-* в этом же каталоге можно помещать соответствующие им файлы rule-* и route-*
Они нужны, соответственно, чтобы прописывать правила маршрутизации и сами маршруты ( ip rule, ip route ), например при использовании source-policy routing.
Для указанного выше туннеля эти файлы могут выглядеть так.
rule-tun0:
from 10.0.0.2 lookup mytable
route-tun0:
default dev tun0 table mytable
192.168.0.0/24 dev tun0
Создав эти файлы мы снимаем с себя головную боль о том, чтобы соответствующие правила и маршруты создавались и удалялись при поднятии и опускании интерфейса соответственно.
Ещё одна интересная возможность — автоматическое создание алиасов. Если у вас есть интерфейс eth0 с адресом 192.168.0.1, а вы хотите повесить ещё и 192.168.0.2, то достаточно создать файл ifcfg-eth0:1, куда вписать помимо вышеперечисленных параметров (IPADDR, NETMASK и так далее), ещё один — REALDEVICE=eth0.
Если же вдруг возникла необходимость в создании большого числа алиасов, а отдельные файлы для каждого создавать не хочется, то и тут есть выход: нас спасёт ifcfg-eth0-range, который может выглядеть так:
IPADDR_START=192.168.0.5
IPADDR_END=192.168.0.15
CLONENUM_START=3
Этот пример создаст интерфейсы eth0:3 — eth0:13 с адресами от 192.168.0.5 до 192.168.0.15.
Ну и, наконец, нельзя не упомянуть о каталогах ifup.d и ifdown.d, лежащих там же (в /etc/sysconfig/network-scripts).
В эти каталоги вы можете поместить свои файлы, которые будут выполняться при поднятии и опускании интерфейса. Вашим скриптам будет передан один параметр $1 — это имя интерфейса, который был поднят или опущен.
Имея сеть, настроенную по этим принципам, вы всегда можете поднять/опустить отдельный интерфейс командой ifup name (ifdown name), где name — это ваш интерфейс. Чтобы перезагрузить всю сеть, достаточно набрать service network reload.
Следующая часть будет посвящена не семейству, а одному дистрибутиву — Alt Linux. Несмотря на его прямые RedHat-корни, разработчики практически полностью заново написали всю систему управления сетью, которая получила имя etcnet и заслужила (на мой взгляд) более пристального внимания 🙂
Источник
Ручная настройка сети в Linux
Для доступа к сетевым картам в Linux используются так называемые интерфейсы. Интерфейсы это не файлы устройств и их нет в каталоге /dev. Интерфейсы создаются динамически и не всегда связаны с сетевыми картами. Например интерфейс ppp0 — это интерфейс VPNа, организованного по протоколу PPTP, а интерфейс lo это виртуальная сетевая карта с адресом localhost (127.0.0.1). В Linux имена интерфейсов традиционно состоят из мнемонического типа интерфейса и его порядкового номера. Карты ethernet доступны через интерфейсы eth0, eth1 и т.д. В системах, использующих systemd способ именования другой — интерфейсы имеют имена вида enp2s0 (en -Ethernet, p — PCI, 2 — номер на шине) Список всех интерфейсов можно посмотреть командой ifconfig -a или ip link .
Привязка интерфейса к карте
При наличии нескольких сетевых карт возникает вопрос о порядке их нумерации. В CentOS 6 эта задача возложена на подсистему обнаружения и конфигурации устройств — udev. В системах с systemd правила именования встроены в udev, но могот быть переопределены, как написано ниже.
Конфигурационный файл переименования интерфейсов обновляется автоматически при первом обнаружении очередной сетевой карты и находится в файле /etc/udev/rules.d/70-persistent-net.rules. Файл состоит из строк такого содержания:
Видно, что нумерация опирается на аппаратный (MAC) адрес карты. Если в компьютере заменить карту, то интерфейс eth0 станет недоступным, а новая карта получит имя eth1. Если есть желание вручную назначить имена картам, то можно отредактировать этот файл, выставив желаемые соответствия между MAC адресами именами интерфейсов (возможно потребуется перезагрузка).
ifcfg
Классическая утилита конфигурации сетевых интерфейсов ifcfg
route
Настройка таблицы маршрутизации route
В современных дистрибутивах линукса на смену ifconfig и route приходит универсальная утилита ip
Адреса серверов DNS и имя локального домена вписываются в файл /etc/resolv.conf
Ручная настройка сети в ArchLinux
Для просмотра доступных сетевых интерфейсов используется команда ip link
ArchLinux использует для настройки сети systemd/netctl . Для конфигурации используются файлы профилей, которые хранятся в /etc/netctl/ . В данном каталоге есть подкаталог examples/ из которого можно копировать файлы с образцами профилей в /etc/netctl/ . Например:
Содержимое enp1s0-work после редактирования
Базовые команды netctl
Ручная настройка сети в Ubuntu
Просмотр доступных интерфейсов — ifcfg -a
Файл конфигурации интерфейсов — /etc/network/interfaces . auto — говорит о том, что интерфейс надо конфигурировать при старте системы.
После смены настроек в /etc/network/interfaces , необходимо отключить и снова включить интерфейс.
Ручная настройка сети в CentOS 6
Общие настройки сети
Файл /etc/sysconfig/network используется стартовыми скриптами и содержит ключевые параметры — нужна ли сеть, нужно ли конфигурировать IP v6, имя компьютера. Сюда можно вписать шлюз по умолчанию, но CentOS 6 ориентируется на динамическое подкючение к сетям через WiFi и вписывает его в конфигурацию подходящего интерфейса.
Конфигурация интерфейса
Файлы в каталоге /etc/sysconfig/network-scripts с именами вида ifcfg-eth0
Интерфейс, получающий адрес по DHCP
Дополнительный IP адрес на интерфейсе eth1
Инициализация VLAN на eth1
Настройка DNS
Файл /etc/resolv.conf
Ручная настройка имен хостов файл /etc/hosts
Настройка брандмауэра
Файл /etc/sysconfig/system-config-firewall правила для настройки программой system-config-firewall
Файл /etc/sysconfig/iptables текущие правила, сохраненные на случай перезагрузки.
После ручного изменения правил их можно сохранить командой service iptables save
Источник