Настройка интернета в 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
  1. backoff-cutoff 2;
  2. initial-interval 1;
  3. link-timeout 10;
  4. reboot 0;
  5. retry 10;
  6. select-timeout 0;
  7. timeout 30;
  8.  
  9. interface "em0"
  10.  {
  11.   #supersede host-name "router_a";
  12.   #supersede domain-name "router_a.homenetwork";
  13.   #prepend domain-name-servers 127.0.0.1;
  14.   request subnet-mask,
  15.           broadcast-address,
  16.           routers,
  17.           domain-name,
  18.           domain-name-servers,
  19.           host-name;
  20.   require routers,
  21.           subnet-mask,
  22.           domain-name-servers;
  23.  }

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

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

nano /etc/conf.d/net

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

File: /etc/conf.d/net
  1. dns_domain_lo="homenetwork"
  2. config_eth1=("192.168.0.1 broadcast 192.168.0.255 netmask 255.255.255.0")
  3. config_eth0=( "dhcp" )
  4. modules=( "dhclient" )
  5.  
  6.  
  7.  
  8. ##avtoperehod v demona
  9. ##dhclient_eth0="-nw"
  10. #dns_servers_eth0="195.14.50.1 195.14.50.21"
  11. #dns_search_eth0="corbina.ru"
  12. #fallback_eth0=( "10.134.41.247 netmask 255.255.248.0" )
  13.  
  14. ##bred polnyj - ne trogat
  15. ##dhcp_eth0="nogateway"
  16.  
  17. #GATEWAY="10.134.40.1"
  18. ## lokalnye resursy
  19. #routes_eth0=(
  20. #    "195.14.50.1 via $GATEWAY"
  21. #)
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
  1. default-lease-time 3600;
  2. max-lease-time 7200;
  3. authorative;
  4. log-facility local7;
  5. ddns-update-style ad-hoc;
  6.  
  7. subnet 192.168.0.0 netmask 255.255.255.0 {
  8.         range 192.168.0.10 192.168.0.250;
  9.  
  10.         option subnet-mask 255.255.255.0;
  11.         option netbios-name-servers 192.168.0.1;
  12.         option broadcast-address 192.168.0.255;
  13.         option routers 192.168.0.1;
  14. #       option domain-name-servers 195.14.50.1,195.14.50.21;
  15.         option domain-name-servers ns1.onlime.ru,ns2.onlime.ru;
  16.  
  17.         host AndyNB
  18.         {
  19.                 hardware ethernet 00:90:F5:28:9A:34;
  20.                 fixed-address 192.168.0.87;
  21.         }
  22.  
  23.         host AlexPC
  24.         {
  25.                 hardware ethernet 00:18:F3:75:AE:BB;
  26.                 fixed-address 192.168.0.2;
  27.         }
  28.         host Switch3COM
  29.         {
  30.                  hardware ethernet 00:24:73:29:BA:20;
  31.                  fixed-address 192.168.0.220;
  32.          }
  33. }

После этого необходимо выполнить рестарт 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: Не уверен правда, что для такого типа соединения вообще требуется проверка падения интернета. Думается мне, что сразу после восстановления линка, инет сам переподнимется без всяких рестартов интерфейса.

Ссылки