The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

Настройка в ArchLinux одновременной работы Интернета и бесплатной сети от провайдера на примере ВолгаТелеком (pppoe pppd iptables iproute linux archlinux)


<< Предыдущая ИНДЕКС Исправить src / Печать Следующая >>
Ключевые слова: pppoe, pppd, iptables, iproute, linux, archlinux,  (найти похожие документы)
From: Сайков Валентин (XliN) <admin@saikov.org.ru.> Newsgroups: email Date: Mon, 10 Aug 2009 14:31:37 +0000 (UTC) Subject: Настройка в ArchLinux одновременной работы Интернета и бесплатной сети от провайдера на примере ВолгаТелеком За основу была взята статья с linuxdoc.vfose.ru, но там пример приводится на основе Ubuntu Мы же будем настраивать под Archlinux Для начала проверим что у нас все стоит из нужного програмного обеспечения. Нам нужен pppd и ip ( он входит в пакет iproute2). pacman -Q iproute2 && pacman -Q ppp iproute2 2.6.28-1 ppp 2.4.4-9 Отлично, все стоит. Следующим шагом настройте свои подключения для инета и фоса. У меня они лежат, как и у вас, в /etc/ppp/peers cat /etc/ppp/peers/fos noipdefault nodefaultroute hide-password noauth persist maxfail 0 plugin rp-pppoe.so eth1 user "fileXXXXXX" unit 1 cat /etc/ppp/peers/inet noipdefault nodefaultroute hide-password noauth persist maxfail 0 plugin rp-pppoe.so eth1 user "jdslXXXXXX" unit 0 Если вы все сделали верно, то к фосу можно будет коннектиться с помощью pon fos и отрубиться poff fos Аналогично и к инету. Далее пишим скрипт для автоматического поднятия фоса с инетом и добавлением правил маршрутизации. vim /etc/ppp/ip-up.d/00-routing.sh #! /bin/bash IP="/usr/sbin/ip" FOS_IFACE="ppp1" INET_IFACE="ppp0" if [ $1 = $FOS_IFACE ]; then NET=`/bin/grep -vE '^#' /etc/ppp/fos.list` for i in $NET; do $IP route add $i dev $1 done fi if [ $1 = $INET_IFACE ]; then $IP route del default 2>/dev/null $IP route add default dev $1 И сделаем его выполняемым chmod 755 /etc/ppp/ip-up.d/00-routing.sh Обратите внимание на путь в скрипте, а именно на строчку NET=`/bin/grep -vE '^#' /etc/ppp/fos.list` Это путь к файлу, где указаны все сети и адреса, которые должны направляться на ppp1. Т.е. считаться бесплатным трафиком. Список таких сетей и сайтов ищите и спрашивайте у ваших провайдеров. Теперь завершающий этап. Отключитесь полностью от ФОСа и инета, и подрубитесь заново. Проверте поднялись ли интерфейсы ppp0 и ppp1 ppp0 Link encap:Point-to-Point Protocol inet addr:88.147.211.197 P-t-P:88.147.128.127 Mask:255.255.255.255 UP POINTOPOINT RUNNING NOARP MULTICAST MTU:1492 Metric:1 RX packets:868164 errors:0 dropped:0 overruns:0 frame:0 TX packets:894747 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:3 RX bytes:633514822 (604.1 Mb) TX bytes:368966099 (351.8 Mb) ppp1 Link encap:Point-to-Point Protocol inet addr:88.147.223.163 P-t-P:88.147.128.127 Mask:255.255.255.255 UP POINTOPOINT RUNNING NOARP MULTICAST MTU:1492 Metric:1 RX packets:2272881 errors:0 dropped:0 overruns:0 frame:0 TX packets:3019009 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:3 RX bytes:875742380 (835.1 Mb) TX bytes:3707531434 (3535.7 Mb) Потом смотрим маршрутизацию netstat -nr Вот кусок того, что вы должны увидеть Kernel IP routing table Destination Gateway Genmask Flags MSS Window irtt Iface 83.222.15.80 0.0.0.0 255.255.255.255 UH 0 0 0 ppp1 .... Если у Вас все так же, то осталось добавить это в автозапуск. Создаем скрипт и делаем его исполняемым. touch /etc/rc.d/p2 chmod 755 /etc/rc.d/p2 Вот его содержимое: #! /bin/bash # Description: Fos and Inet # . /etc/rc.conf . /etc/rc.d/functions NAME=`basename $0` FOS_NAME="fos" INET_NAME="inet" FOS_IFACE="ppp1" INET_IFACE="ppp0" FOS_LIST="/etc/ppp/fos.list" case "$1" in start) stat_busy "Starting FOS+INET Connection" netstat -rn | grep 88.147.128.0 &> /dev/null case $? in 0) stat_bkgd "Already UP" exit 1 ;; esac /usr/bin/pon $FOS_NAME &> /dev/null /usr/bin/pon $INET_NAME &> /dev/null sleep 10 && ifconfig | grep $FOS_IFACE &> /dev/null && ifconfig | grep $INET_IFACE &> /dev/null case $? in 1) #Проверка, что поднялось. Исключительно для красивой надписи done:) stat_fail exit 2 ;; esac add_daemon p2 stat_done ;; stop) stat_busy "Stopping FOS+INET Connection" killall pppd rm_daemon p2 stat_done ;; restart) $0 stop sleep 5 && $0 start ;; *) echo "Usage: $0 start|stop|restart" exit 3 ;; esac exit 0 Теперь все это дело можно стартовать и останавливать вот так: /etc/rc.d/p2 start /etc/rc.d/p2 stop Ну и для полного счастья добавте его (p2) в список демонов в файл /etc/rc.conf Это позволит автоматом поднимать инет и ФОС при запуске системы.

<< Предыдущая ИНДЕКС Исправить src / Печать Следующая >>

 Добавить комментарий
Имя:
E-Mail:
Заголовок:
Текст:




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру