PPPoE на FreeBSD
Почнемо з того, що у нас є. А є у нас чортеня (я так ласкаво, без дівчини, свою FreeBSD називаю =)))) 5 або 6 гілки, по ідеї це не принципово, все настройки практично ідентичні.
Чортеня тільки що встановлений і його конфіги невинно чіти і невинні.
З заліза, будь-який комп, на який встане наш чортеня, дві мережеві карти (навіщо 2, потім розповім) (у мене в прикладах буде одна intel і в системі вона заповіт fxp0, а інша длінк - ste0, у вас можуть бути будь-які інші, подивитися їх назви можна через команду ifconfig), ну і будь-який adsl модем з lan роз'ємом (dlink 300, 50x, acorp 120, 420 і таму подібне), або пряме lan підключення до Інфолайн.
Проблему usb модемів розглядати не буду, тому що це не кволий гемор, ди і швидкість у них маленька і коннект держут погано і взагалі, я думаю, що 500-700 р це не ті гроші, які можна віддати за спокійні нерви, хорошу швидкість і відсутність діськоннектов.
Що ми з ним хочемо зробити:
1) для початку просто вивести в мережу і налаштувати по немногу
2) зробити з нього шлюз, щоб можна було використовувати інет з декількох домашніх комп'ютерів (ось для цього 2 мережевої і нада)
1. Виводимо чортика на прогулянку в мережу.
і дивимося вміст файлу. Можливо там щось уже є, вставлене наприклад утилітою sysinstall або ще чим-небудь. З цього уважно вивчаємо вміст, виправляємо все, що потрібно, дописуємо того, чого не вистачає.
Відповідно додаємо туди на даному етапі:
# Ім'я комп'ютера
hostname = "My_server"
# Запускаємо inetd демона, який буде приймати різні
# Вхідні з'єднання
inetd_enable = "YES"
ну і зберігаємо натискаючи ESC і вибираючи a-a (вийти - зберегти і вийти).
nameserver 83.217.192.2
nameserver 83.217.193.2
ну і не забуваємо зберегти.
Тепер можна і перезавантажитися
Після перезавантаження, якщо все пройшло вдало, сново заходимо під root-ом і дивимося, як у нас налаштувалися мережеві інтерфейси. Для цього вводимо:
Повинні отримати, щось типо такого:
: Fxp0:
flags = 18843
options = 48
inet 192.168.1.5 netmask 0xffffff00 broadcast 192.168.1.255
.
media: Ethernet autoselect (100baseTX
status: active
ste0:
flags = 118843
options = 48
inet 192.168.0.1 netmask 0xffffff00 broadcast 192.168.0.255
.
media: Ethernet autoselect (100baseTX
status: active
так само зауважимо, щоб якщо модем вже увімкнено, а кабель застромлять, то у мережевої карти, що підключена до нього, має бути в прапорах UP і status: active
Для вірності пінганём модем:
і якщо він нам радісно відповідає:
PING 192.168.1.1 (192.168.1.1): 56 data bytes
64 bytes from 192.168.1.1: icmp_seq = 0 ttl = 255 time = 3.505 ms
64 bytes from 192.168.1.1: icmp_seq = 1 ttl = 255 time = 1.030 ms
64 bytes from 192.168.1.1: icmp_seq = 2 ttl = 255 time = 1.036 ms
64 bytes from 192.168.1.1: icmp_seq = 3 ttl = 255 time = 1.031 ms
64 bytes from 192.168.1.1: icmp_seq = 4 ttl = 255 time = 1.083 ms
Для тих у кого LAN підключення природно Пінгала нічого не потрібно, а в rc.conf потрібно замість
. ifconfig_fxp0 = "inet 192.168.1.5 netmask 255.255.255.0"
Але це все були тільки приготування. Тепер власне будемо налаштовувати саме підключення в інтернет, до того ж двома способами: через ppp і через mpd.
Почнемо власне з налаштування ррр. Я особисто його використовую, як тимчасовий варіант, для того, щоб підключити до інету чортика і далі з портів поставити mpd, оновити систему і ще по дрібниці. Але це зовсім не означає, що у Вас такий варіант не стане постійним.
pppoe: # мітка з'єднання
set authname логін # тут замість логін вписуємо свій логін для
# сполуки
set authkey пароль # тут замість пароля - свій пароль
set device PPPoE: fxp0 # fxp0 - мережева карта, до якої
# Підключений модем
set speed sync
set timeout 0
set redial 15 10000
set dial
set login
add default HISADDR
enable dns
УВАГА! тут форум з'їдає прогалини на початку рядка! Повинно бути перший рядок з міткою без пробілу, інші починаються з пробілу! інакше, може не заробити!
Вписавши і зберігши все що потрібно запускаємо ppp ось такою командою:
ppp -ddial pppoe
і він нам відповідає
Working in ddial mode
Using interface: tun0
Значить він запустився, створив мережевий інтерфейс tun0 і почав з'єднуватися.
Через 10-20 секунд пробуємо подивитися на плоди його старань. вводимо
то все просто чудово! пробуємо пінгануть наприклад www.ru для остаточної перевірки працездатності інету.
Якщо ж щось не так, то потрібно дивитися логи роботи ppp? і вже виходячи з цього думати, що не так. (Про те як подивитися його логи, якщо знадобиться, розповім пізніше).
Все чудово, інтернет є, по ідеї на цьому можна і зупинитися, але немає межі досконалості! Програма ppp працює як користувальницький додаток і з цього працює повільніше і може споживати більше ресурсів, ніж звонилка, що працює як частина ядра. З цього тепер займемося установкою і налаштуванням найкращою програми - звонилки для FreeBSD - mpd.
Зараз ми її будемо САМІ компілювати з ВИХІДНИХ КОДІВ! Що класно звучить. ТАК! ось вона сила опен-Сорса! і це не так складно, як здається з першого погляду.
Вообщем ми вже маємо працюючий інет, для того, щоб завантажити вихідні коди mpd. Завантажувати і збирати будемо з допомогою системи портів - одного з найгеніальніших винаходів творців FreeBSD (я сподіваюся ви порти поставили при установці системи.).
Але вистачить слів, переходимо до справи!
переходимо в директорію з портом mpd коммандой:
і подаємо команду компіляції демона, в процесі якої вихідні коди самі завантажить з інтернету і скомпілюйте і встановляться:
спостерігаємо за тим, як сиплеться матриця =)) По завершенню, дивимося, якщо в кінці не з'явилося написів error то все відмінно і у нас все вийшло! даємо команду:
щоб компілятор прибрав за собою все сміття і тимчасові файли.
Тепер потрібно налаштувати mpd. Всі конфігураційні файли демона знаходяться в папці / usr / local / etc / mpd /. Всього їх 3 штуки. Створимо і заповнимо їх по черзі.
і записуємо в нього наш логін і пароль для з'єднання:
echo Логін Пароль> /usr/local/etc/mpd/mpd.secret
Наступним створюємо файл основних налаштувань:
default:
load pppoe
pppoe:
new -i ng0 pppoe pppoe
set iface addrs 1.1.1.1 2.2.2.2
load inet
inet:
set iface disable on-demand
set iface idle 0
set iface route default
set bundle disable multilink
set bundle authname логін # тут наш логін для підключення
set link yes acfcomp protocomp
set ipcp yes vjcomp
set ipcp ranges 0.0.0.0/0 0.0.0.0/0
set ccp yes mppc
set ccp yes mpp-e40
set ccp yes mpp-e128
set ccp yes mpp-stateless
open iface
ЗНОВУ УВАГА. Тут рядки з мітками (default: pppoe: inet :) починаються як зазвичай з початку рядка, без будь-яких прогалин і табів. ВСІ ІНШІ СТРОКИ ПОЧИНАЮТЬСЯ з відступом зробити кнопку TAB І НІЯК ІНАКШЕ. Я свого часу з цим табом протріть *** ся цілих два дні, поки не вкурил в чому проблема!
і залишився останній файл
і його вміст:
pppoe:
set link type pppoe
set pppoe iface fxp0 # fxp0 - ім'я інфолайновской мережевої карти
set pppoe service *
set pppoe disable incoming
set pppoe enable originate
ЗНОВУ УВАГА. Все що написано вище про таби не забуваємо! Тут з початку рядка мітка pppoe. все інше починається з відступу табом.
Тепер майже все готово для запуску mpd.
Донастроіть систему, щоб вона запускала mpd при старті системи. Додамо в файл /etc/rc.conf рядки:
І тепер при запуску системи у нас mpd буде сама запускатися, з'єднуватися в інет, і постійно тримати з'єднання. У разі діськоннектов mpd миттєво намагатиметься з'єднатися сново, нескінченне число разів, поки не підключиться до інету. Чи не правда просто ідеальна звонилка для роутера - шлюзу?
Тепер перезавантажити систему, для того, щоб всі налаштування приминить:
Після перезавантаження перевіримо як поживає інет:
і якщо все ОК, то отримуємо радісний відповідь:
ng0: flags = 88d1
inet6 fe80 :: 211: 95ff: fec1: 4075% ng0 prefixlen 64 scopeid 0x6
inet 87.228. *. * -> 83.217.192.133 netmask 0xffffffff
На цьому настройку інету можна вважати завершеною.