Давно являюсь пользователем провайдера UfaNet, но только сейчас добил основные моменты по подключению о чём и собираюсь рассказать.
Настраивать будем как всегда Gentoo. И так, во-первых устанавливаем необходимые портежи:
# emerge dhcp ppp pptpclient
Займёмся настройкой конфигурационных файлов. В /etc/conf.d/net нужно дать указание получать адрес по DHCP для сетевого устройства, в моё случае это eth1, поэтому я пишу:
config_eth1=( "dhcp" )
dhcpcd_eth1=( "-t 10")
Запускаем команду
# /etc/init.d/net.eth1 restart
и проверяем, что адрес получен. Пойдём дальше и настроим dhclient, чтобы не мучаться с прописыванием маршрутов. Для этого в /etc/dhcp/dhclient.conf пишем:
timeout 60;
retry 60;
reboot 10;
select-timeout 5;
initial-interval 2;
interface "eth1" {
send host-name "server";
send dhcp-lease-time 3600;
prepend domain-name "ufanet.ru";
prepend domain-name-servers 81.30.199.5;
prepend domain-name-servers 81.30.199.94;
request subnet-mask, broadcast-address, time-offset, \
routers;
script "/sbin/dhclient-script-ufanet";
}
Создаём копию скрипта /etc/dhclient-script:
# cp /etc/dhclient-script /etc/dhclient-script-ufanet
и в двух местах, где фигурирует добавление роутеров убираем (комментируем или удаляем) строчку создания маршрута по умолчанию и добавляем маршруты до PPTP-сервера 10.8.0.1 и DHCP/DNS-сервера 10.8.3.1.
Было:
for router in $new_routers; do
route add default gw $router $metric_arg dev $interface
done
стало:
for router in $new_routers; do
route add -host 10.8.0.1 gw $router $metric_arg dev $interface
route add -host 10.8.3.1 gw $router $metric_arg dev $interface
done
перезапускаем dhclient и проверяем, что у нас хорошего в таблице маршрутизации и в /etc/resolv.conf:
# route -n
Destination Gateway Genmask Flags Metric Ref Use Iface
10.8.0.1 10.64.209.1 255.255.255.255 UGH 0 0 0 eth1
10.8.3.1 10.64.209.1 255.255.255.255 UGH 0 0 0 eth1
10.64.209.0 0.0.0.0 255.255.255.0 U 0 0 0 eth1
# cat /etc/resolv.conf
search ufanet.ru
nameserver 81.30.199.5
nameserver 81.30.199.94
Проверяем ping до 10.8.0.1 и 10.8.3.1, всё должно работать.
Далее приступаем к настройке pptp-client и ppp. Для чего в каталоге /etc/ppp/peers/ создаём два файла ufanet-unlim и ufanet-local со следующим содержанием:
# cat ufanet-unlim
name LOGIN
remotename LOGIN
unit 0
pty "pptp 10.8.0.1 --nolaunchpppd"
lock
noauth
defaultroute
persist
holdoff 600
maxfail 0
debug
nobsdcomp
nodeflate
lcp-echo-failure 36
lcp-echo-interval 5
lcp-max-failure 0
Где LOGIN - это ваш логин. Файл ufanet-local имеет аналогичное содержание, лишь с той разницей, что в LOGIN добавляется постфикс @local, т.е. получается LOGIN@local. Таким образом у нас есть два файла: ufanet-unlim - для тарифа "Свобода" и ufanet-local - для локалки. Затем в /etc/ppp/chap-secrets пишем строку в формате:
LOGIN LOGIN PASSWD
где LOGIN и PASSWD - соотвественно логин и пароль с карты регистрации.
Теперь, для подключения нужно ввести команды:
# pppd call ufanet-unlim - для "Свобода"
# pppd call ufanet-local - для локалки
Смотрим на вывод ifconfig, он должен показать наличие двух соединений ppp0 и ppp1 соответственно. Пингуем адреса, всё должно работать.
Затем, мы хотим иметь возможность использовать и локальное соединение и внешний интернет, и чтобы всё работало и все ходили по своим маршрутам. Для этого в каталоге /etc/ppp/ip-up.d/ создаём файл 60-route.sh следующего содержания:
# cat /etc/ppp/ip-up.d/60-route.sh
#!/bin/sh
if [ "$1" == "ppp1" ]; then
/sbin/route add -net 192.168.0.0 netmask 255.255.0.0 dev ppp1 metric 2
/sbin/route add -net 172.16.0.0 netmask 255.240.0.0 dev ppp1 metric 2
/sbin/route add -net 10.0.0.0 netmask 255.0.0.0 dev ppp1 metric 2
/sbin/route add -net 81.30.176.0 netmask 255.255.240.0 dev ppp1 metric 2
/sbin/route add -net 81.30.192.0 netmask 255.255.224.0 dev ppp1 metric 2
/sbin/route add -net 89.189.128.0 netmask 255.255.224.0 dev ppp1 metric 2
/sbin/route add -net 77.79.128.0 netmask 255.255.192.0 dev ppp1 metric 2
/sbin/route add -net 92.50.128.0 netmask 255.255.192.0 dev ppp1 metric 2
/sbin/route add -net 94.41.0.0 netmask 255.255.0.0 dev ppp1 metric 2
fi
Теперь, соблюдая небольшое правило, а именно сначала запускаем ufanet-unlim, а потом ufanet-local, мы при подъёме последнего будем иметь автоматические настройки маршрутов для локальных ресурсов. У меня всё.
При написании данного поста были использованы следующие источники:
1. http://ufaman.ru/help/internet/linux.shtml
2. http://ufaman.ru/help/internet/linuxb.shtml
3. http://vladimir-stupin.blogspot.com/2009/01/vpn.html
4. http://www.google.com ;)
за что выражаю камрадам огромную благодарность.Ярлыки: Gentoo, Linux, UfaNet, VPN