Настройка интернета в OnLime под Gentoo

Материал из AlexNook
(разн.) ← Предыдущая | Текущая версия (разн.) | Следующая → (разн.)
Перейти к навигацииПерейти к поиску

Краткая заметочка о настройке интернета у провайдера OnLime. Интернет в данной компании раздаётся по протоколу DHCP. Особенность в том, что если установить Switch, то вообще есть возможность подключить до 5 устройств, каждому из которых будет выдан свой IP адрес и они независимос смогут выходить в интернет.

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

Установка программного обеспечения

Сперва необходимо поставить все необходимые пакеты, для успешной работы в ОнЛайм.

Используя стандартный emerge ставим эти пакеты.

emerge net-misc/dhcp

Теперь переходим к настройке конфигурационных файлов.

Настройка конфигурационных файлов

Для корректной работы интернета нам потребуются следующие конфигурационные файлы:

  • /etc/dhcp/dhclient.conf
  • /etc/conf.d/net

Настройка DHCP клиента для забора сетевых настроек

nano /etc/dhcp/dhclient.conf

После введения команды на правку фала, заносим в него следующее содержимое.

File: /etc/dhcp/dhclient.conf
backoff-cutoff 2;
initial-interval 1;
link-timeout 10;
reboot 0;
retry 10;
select-timeout 0;
timeout 30;

interface "em0"
 {
  #supersede host-name "router_a";
  #supersede domain-name "router_a.homenetwork";
  #prepend domain-name-servers 127.0.0.1;
  request subnet-mask,
          broadcast-address,
          routers,
          domain-name,
          domain-name-servers,
          host-name;
  require routers,
          subnet-mask,
          domain-name-servers;
 }

Данный конфигурационный файл был создан на основе вот этой статьи. Не вижу смысла переписывать тот туториал.

Написание главного файла конфигурации сети

nano /etc/conf.d/net

После этого в файл надо занести следующую информацию

File: /etc/conf.d/net
dns_domain_lo="homenetwork"
config_eth1=("192.168.0.1 broadcast 192.168.0.255 netmask 255.255.255.0")
config_eth0=( "dhcp" )
modules=( "dhclient" )



##avtoperehod v demona
##dhclient_eth0="-nw"
#dns_servers_eth0="195.14.50.1 195.14.50.21"
#dns_search_eth0="corbina.ru"
#fallback_eth0=( "10.134.41.247 netmask 255.255.248.0" )

##bred polnyj - ne trogat
##dhcp_eth0="nogateway"

#GATEWAY="10.134.40.1"
## lokalnye resursy
#routes_eth0=(
#    "195.14.50.1 via $GATEWAY"
#)
Note: Небольшое замечание - файл содержит по сути 3 строчки. Остальное это закоментированные настройки, оставшиеся от провайдера - Корбина Телеком. Возможно их можно подкрутить для более стабильной работы интернета, но не совсем пока понятно, а что будет, если OnLime вдруг не выдаст параметры по DHCP и как их тогда устанавливать в виде FallBack

Настройка раздачи интернета внутри домашней локальной сети

Опять зацепляем немного косвеные настройки. У меня есть локальная сеть и мой сервер раздаёт интернет на квартиру моим компьютерам. Для идентификации компов в локалке, сервер всем компьютерам по dhcp выдаёт IP адреса. Т.к. собственного DNS сервера я не держу, то в настройках DHCP сервера важно заменить DNS Corbina Telecom на DNS Onlime.

nano /etc/dhcp/dhcpd.conf

Открыв файл на правку, раскоментируе строчку в днс Onlime и закоментируем ту, что выше неё.

File: /etc/dhcp/dhcpd.conf
default-lease-time 3600;
max-lease-time 7200;
authorative;
log-facility local7;
ddns-update-style ad-hoc;

subnet 192.168.0.0 netmask 255.255.255.0 {
        range 192.168.0.10 192.168.0.250;

        option subnet-mask 255.255.255.0;
        option netbios-name-servers 192.168.0.1;
        option broadcast-address 192.168.0.255;
        option routers 192.168.0.1;
#       option domain-name-servers 195.14.50.1,195.14.50.21;
        option domain-name-servers ns1.onlime.ru,ns2.onlime.ru;

        host AndyNB
        {
                hardware ethernet 00:90:F5:28:9A:34;
                fixed-address 192.168.0.87;
        }

        host AlexPC
        {
                hardware ethernet 00:18:F3:75:AE:BB;
                fixed-address 192.168.0.2;
        }
        host Switch3COM
        {
                 hardware ethernet 00:24:73:29:BA:20;
                 fixed-address 192.168.0.220;
         }
}

После этого необходимо выполнить рестарт DHCPD демона.

/etc/init.d/dhcpd restart

Чистка остатков настроек от Корбина-Телеком

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

rc-update del net.ppp0

Потом остановить его

/etc/init.d/net.ppp0 stop

Теперь необходимо убрать из IpTables все правила, содержащие ppp0 интерфейс. Вообще по плану это не должно мешать, т.к. эти фильтры просто не будут работать, но лишний мусор в фаерволе никчему.

iptables -D FORWARD -o ppp0 -p tcp --tcp-flags SYN,RST SYN -j TCPMSS --clamp-mss-to-pmtu

Далее сохраняем внесённые изменения

/etc/init.d/iptables save

и рестартуем IpTables

/etc/init.d/iptables.restart
Note: Если есть ещё какие-то правила, то их тоже можно удалить, ну или оставить на случай скорого возвращени в Корбину

Настройка переподнятия интерфейса в случае его падения

Сюда по аналогии со статьёй Corbina VPN поднятие интернета под Gentoo вставляю ту же информацию, только меняю интерфейс ppp0 на eth0.

Для переподнятия интерфейса я в Cron добавил следующую задачу, которая автоматом раз в 10 минут проверяет, если пинг до яндекса и, если его нет, переподнимает наш интерфейс.

nano /etc/crontab
File: /etc/crontab
*/10 * * * *      (ping ya.ru -c 5 | grep "rtt min/avg/max/mdev" ) || /etc/init.d/net.eth0 restart

После внесения изменений в настройки крона - делаем его рестарт:

crontab /etc/crontab
Note: Не уверен правда, что для такого типа соединения вообще требуется проверка падения интернета. Думается мне, что сразу после восстановления линка, инет сам переподнимется без всяких рестартов интерфейса.

Ссылки