PPPoE FreeBSD

PPPoE FreeBSD

Необходимо было поднять PPPoE подключение шлюза FreeBSD на DSL модем для раздачи интернета в локальную сеть.

Предположим у Вас свежая установленная ОС: FreeBSD (ну у меня 8.1). Для начала определимся с сетевым адаптором, через который будет дозваниваться FreeBSD. Для этого используем команду ifconfig.

Результат выдает примерно следующим:

xl0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500
options=9<RXCSUM,VLAN_MTU>
ether 00:04:79:67:76:84
inet 192.168.1.55 netmask 0xffffff00 broadcast 192.168.1.255
media: Ethernet autoselect (100baseTX <full-duplex>)
status: active
xl1: flags=8802<BROADCAST,SIMPLEX,MULTICAST> metric 0 mtu 1500
options=9<RXCSUM,VLAN_MTU>
ether 00:04:76:19:b1:88
media: Ethernet autoselect (100baseTX <full-duplex>)
status: active
rl0: flags=8802<BROADCAST,SIMPLEX,MULTICAST> metric 0 mtu 1500
options=8<VLAN_MTU>
ether 00:16:e6:4d:2a:29
media: Ethernet autoselect
status: no carrier
plip0: flags=8810<POINTOPOINT,SIMPLEX,MULTICAST> metric 0 mtu 1500
lo0: flags=8049<UP,LOOPBACK,RUNNING,MULTICAST> metric 0 mtu 16384
options=3<RXCSUM,TXCSUM>
inet6 fe80::1%lo0 prefixlen 64 scopeid 0x5
inet6 ::1 prefixlen 128
inet 127.0.0.1 netmask 0xff000000

Из конфигурации видны все подключенные сетевые платы, у меня дозвон будет происходить через плату: xl0. Открываем конфиг ppp.conf стандартным редактором ee:

ee /etc/ppp/ppp.conf

Видим стандартную конфигурацию файла, я сразу её полностью комментирую (делается это с помощью # в начале каждой строки, вдруг кто не знает) и пишу свою конфигурацию:

!!Замечание: каждая строка, кроме названия конфигураций подключения должна начинаться с пробела, синтаксис в этом файле очень важен.

default:
 set log Phase tun command
 set ifaddr 0 0

WebStream:
 set device PPPoE:xl0
 set dial
 set authname username
 set authkey password
 add default HISADDR

Сохраняем конфигурацию. (В ee это нажатие клавиш: Esc => a => a). Вызов дозвона PPPoE производится командой:

ppp -ddial WebStream

Выводится следующее:

Loading /lib/libalias_cuseeme.so
Loading /lib/libalias_ftp.so
Loading /lib/libalias_irc.so
Loading /lib/libalias_nbt.so
Loading /lib/libalias_pptp.so
Loading /lib/libalias_skinny.so
Loading /lib/libalias_smedia.so
Working in ddial mode
Using interface: tun0

Проверяем связь с внешним миром Вашего FreeBSD:

ping www.ru

PING www.ru (194.87.0.50): 56 data bytes
64 bytes from 194.87.0.50: icmp_seq=0 ttl=57 time=90.975 ms
64 bytes from 194.87.0.50: icmp_seq=1 ttl=57 time=91.730 ms
64 bytes from 194.87.0.50: icmp_seq=2 ttl=57 time=90.864 ms
64 bytes from 194.87.0.50: icmp_seq=3 ttl=57 time=93.143 ms
64 bytes from 194.87.0.50: icmp_seq=4 ttl=57 time=92.255 ms

Связь установлена, мы в интернете, ура)) Добавляем дозвон в автозагрузку FreeBSD:

ee /etc/rc.conf

Спускаемся на последнюю пустую строку и пишем:

#PPPoE
ppp_enable="YES"
ppp_mode="ddial"
ppp_nat="YES"
ppp_profile="WebStream"
#PPPoE

Сохраняем изменения, ну в принципе все.