Настройка РРТР в GENTOO консольный вариант (PPTP Gentoo-way)

0.250 Предисловие

Предположим, что вы устанавливаете или только что установили Gentoo с live-CD и само собой рано или поздно у вас встанет вопрос о настройке Интернет, хорошо, если у Вас выделенка или есть роутер. А если у Вас PPPoE-VPN или хуже того - PPTP-VPN - тогда дело обстоит намного хуже... Помнится в первый раз я настраивал VPN на Linux в далёком 2004 году, и был это не просто какой-то тас Linux, а матёрый SlackWare, который в подмётке не годится Gentoo, так вот это занятие у меня заняло около 3х дней. Это сейчас информации по настройке PPTP куча, и каждый уважающий себя провайдер рано или поздно оформляет описание для настройки PPTP-VPN под какой-либо дистрибутив Linux, а раньше с этим было намного проблематичнее, т.к. толком никто не знал какие настройки указать в файлике /etc/ppp/options. Ну да ладно, можно говорить очень долго о тех чудесных временах, когда гугл был пуст, когда вопросы задавались из уст в уши старшим...

0.500 Установка необходимых пакетов и настройки ядра

В Gentoo всё просто, собственно как и в любом другом дистрибутиве Linux:

# cd /usr/src/linux
# make menuconfig

General setup  --->Device Drivers  --->[*] Network device support  ---><*>   PPP (point-to-point protocol) support
[*]     PPP multilink support (EXPERIMENTAL)
[*]     PPP filtering
<*>     PPP support for async serial ports
<*>     PPP support for sync tty ports
<*>     PPP Deflate compression   
<*>     PPP BSD-Compress compression 
<*>     PPP MPPE compression (encryption) (EXPERIMENTAL)
<*>     PPP over Ethernet (EXPERIMENTAL)
<*>     PPP over L2TP (EXPERIMENTAL)


Можно модулями, тогда не придётся перезагружать машину, но я люблю прямо в ядро, чтобы не думалось))
Далее сохраняем настройки, пересобираем ядро, обновляем загрузчик:

# make && make modules_install
# mount /boot
# cp /usr/src/linux/arch/x86_64/boot/bzImage /boot/bzImage
# bzImage в зависимости от того как указано в настройках загрузчика




Устанавливаем необходимые пакеты:
В Gentoo все еще проще чем в любом другом дистрибутиве Linux

 # emerge -pv pptpclient ppp

These are the packages that would be merged, in order:

Calculating dependencies... done!
[ebuild  N    ] net-dialup/ppp-2.4.4-r25  USE="ipv6 pam -activefilter -atm -dhcp -eap-tls -gtk -mppe-mppc -radius" 727 kB
[ebuild  N    ] sys-apps/iproute2-2.6.34  USE="berkdb -atm -minimal" 377 kB
[ebuild  N    ] net-dialup/pptpclient-1.7.2-r2  USE="-tk" 87 kB

Total: 3 packages (3 new), Size of downloads: 1,190 kB


Устанавливаем USE-флаги по вкусу, я не стал включать mppe-mppc, так как провайдер не использует шифрование, продолжаем:

# emerge pptpclient ppp


После того как всё удачно скомпилилось, у меня заняло около 1-2 минут, как раз в это время ходил за кофе, можем настроить файл /etc/conf.d/net, обратите внимание, все сетевые настройки находятся в едином файле, что в 100 раз удобнее чем где бы то ни было. Gentoo ROks!

modules=(   "ifconfig"   )
modules_eth0=(   "dhcpcd"   )
config_eth0=(   "dhcp"   ) 
dhcp_eth0="nogateway  nodns"
routes_eth0=(  "default  via   10.5.1.1")
#"10.0.0.0/8   via   10.5. 1.1" )
#Строчки закоментированы, т.к. провайдер отдает роуты по DHCP
config_ppp0=(   "ррр"   )
link_ppp0="pty 'pptp 10.100.0.2 --nolaunchpppd'"
username_ppp0='логин' 
password_ppp0='пароль'
pppd_ppp0=("updetach" 
"noauth" 
"defaultroute" 
"holdoff 10"
"lcp-echo-interval 10"
 "lcp-echo-failure 4" )
postupO {
if [[ ${IFACE} == "ppp0" ]] ; then route del $5 dev ppp0 route add -host $5 gw 10.5.1.1
VPN=~ifconfig | grep P-t-P I awk '{print $2}' j awk -F: '{print $2}' ~
route add default gw $VPN dev pppO fi }

postdown() {
if [[ ${IFACE} == "pppO" ]] ; then route del default gw $VPN dev ppp0
fi }

RC_NEED_ppp0="net.eth0"


В этом случае не нужны никакие ip-up.local и ip-down.local, хотя кто-то предпочитает держать postup() и postdown() в них.

В /etc/ppp/options
lock


В /etc/ppp/options.pptp

lock
noauth
refuse-eap    # эти три строки - в случае использования MSCHAP-V2
refuse-chap   # если используете что-либо другое, то это нужно указать, 
refuse-mschap # например, +chap или +рар
nobsdcomp
 nodeflate


В /etc/resolv.conf или в /etc/ppp/resolv.conf добавляем DNS:

nameserver xx.xx.xx.xx 
nameserver yy.yy.yy.yy


Создаем симлинки для стартап init-скриптов в /etc/init.d/

# In -snf /etc/init.d/net.lo /etc/init.d/net.eth0 
# In -snf /etc/init.d/net.lo /etc/init.d/net.ppp0


Теперь командами

# /etc/init.d/net.eth0  start 
# /etc/init.d/net.ppp0   start


Вы сможете поднимать локальную сеть и VPN соответственно. Если нужно автоматическое поднятие при загрузке, то можете выполнить
# rc-update  add net.eth0  default
# rc-update   add  net.ppp0   default


Естественно, все вышеописанное необходимо делать с правами администратора.
NB: Учитесь, пробуйте, ставьте, ошибайтесь, спрашивайте и разбирайтесь, т.к. именно так
придут драгоценные познания, которые останутся с Вами на всю жизнь.







Вас также может заинтересовать:

03.05.2010 Первоначальная настройка Gentoo
03.06.2010 Настройка сетевого радио сервера Icecast2 на Gentoo
06.05.2010 Настройка Gentoo Router+Printserver+Samba+Communigate Pro(Mail Server)
Офисный VPN сервер PPTP и роутами через DNSMASQ на Centos 6
22.05.2010 Использование PackageSet в Gentoo (Или жизнь после установки Gentoo-Way)
Настройка SVN + TRAC Centos