Решил я (и приятель один дотошный очень, просил) настроить модем не в режиме роутера, а обычно, как bridge.
А соединение PPPoE поднимать на сервере с FreeBSD — там фаерволл понадежнее и маршруты удобнее прописать на нем, да и файловый сервер там же, и трансмиссия 🙂
Нагуглил сразу два варианта — через ppp и через mpd, решил записать оба — на всякий случай пусть будет, для коллекции 🙂
Использовал я FreeBSD 8.0 RELEASE
Первый способ — самый простой, на мой взгляд. Поскольку можно поднимать соединение в интернет сразу же после установки FreeBSD, без установки дополнительных пакетов.
редактируем файл /etc/ppp/ppp.conf:
# ee /etc/ppp/ppp.conf
Пишем туда вот что:
default:
set device PPPoE:ed0
set speed sync
set mru 1492
set mtu 1492
set ctsrts off
add default HISADDR
set timeout 0
set redial 0 0
set log Phase tun command
set ifaddr 0 0
disable ipv6cp
enable dns
connect:
set authname ваш_логин
set authkey ваш_пароль
Обратите внимание — на строчку set device PPPoE:ed0, здесь ed0 — имя вашего внешнего сетевого интерфейса, подключенного к модему 😉 Не забываем также указывать логин и пароль.
устанавливаем соединение (нужны права root):
# ppp -ddial connect
Возникающие ошибки смотрим в логе
# tail /var/log/ppp.log
Второй способ — посложнее, с использованием mpd5.
1. Устанавливаем mpd5
# whereis mpd5
mpd5: /usr/ports/net/mpd5
# cd /usr/ports/net/mpd5
# make install clean
После установки mpd5 создаем конфиг и пару файлов — скриптов, выполняющихся при подъеме и сбросе соединения :
touch /usr/local/etc/mpd5/mpd.conf
touch /usr/local/etc/mpd5/io-up.sh
touch /usr/local/etc/mpd5/io-down.sh
И пишем в него :
pppoe_client:
#
#
create bundle static B1
set iface up-script /usr/local/etc/mpd5/io-up.sh
set iface down-script /usr/local/etc/mpd5/io-up.sh
set iface enable tcpmssfix
set iface route default
set ipcp ranges 0.0.0.0/0 0.0.0.0/0
create link static L1 pppoe
set link action bundle B1
set auth authname ваш_логин
set auth password ваш_пароль
set link max-redial 0
set link mtu 1492
set link keep-alive 10 60
set pppoe iface ed0
set pppoe service ""
open
добавляем в /etc/rc.conf
mpd_enable="YES"
и пробуем подключиться:
mpd5 -k
Увидев, что соединение поднимается, прописываем нужные gateway в файл подъема. Мне в нем же приходится перезагружать правила фаерволла