Две учетные записи для подключения к интернет по ADSL

Имеется две учетные записи:

    guest@guest               - для доступа к внутренним ресурсам провайдера (distfiles, portage, cpan ...)
    1500-xxxxxxx-xx@beltel.by - для доступа к ресурсам интернета.

Модем настоен в режиме моста.

В файле /etc/conf.d/net:


    config_eth0=("adsl")
    dsl_user_eth0="1500-xxxxxxx-xx@beltel.by"
    #dsl_user_eth0="guest@guest"

Как можно упростить подключение под этими учетными записями не изменяя постоянно файл /etc/conf.d/net.

Уточню:
У меня тарифный план 60-эконом, т.е. на месяц 60-часов интернета в любое время. Для этого подключения используется учетная запись 1500-xxxxxxx-xx@beltel.by. Если прописать соединение на модеме, то оно будет подключено всегда. Нужен контроль. По гостевому доступу на время и трафик ограничений нет, но и доступ только к внутренним ресурсам провайдера.

Я тоже пользуюсь услугами

Я тоже пользуюсь услугами этого провайдера. Сейчас, правда, все настройки для поднятия двух PPPoE у меня на роутере, а раньше делал примерно так:
Во-первых, ppp-интерфейсы поднимал не при загрузке, а по запросу. Для этого установил пакет net-dialup/rp-pppoe.
Во-вторых, создал следующие одинаковые файлы /etc/ppp/chap-secrets и /etc/ppp/pap-secrets вида

"XXXX-00000XX-XX@beltel.by" * "MY_PASSWORD"
"guest@guest" * "guest"

и файлы /etc/ppp/pppoe-byfly.conf вида

ETH='eth0'
USER='XXXX-00000XX-XX@beltel.by'
DEMAND=no
DNSTYPE=SPECIFY
PEERDNS=no
DNS1=82.209.213.60
DNS2=193.232.248.2
DEFAULTROUTE=yes
CONNECT_TIMEOUT=30
CONNECT_POLL=2
ACNAME=
SERVICENAME=
PING="."
PIDFILE="/var/run/$CF_BASE-pppoe-2.pid"
SYNCHRONOUS=no
CLAMPMSS=1412
LCP_INTERVAL=20
LCP_FAILURE=3
PPPOE_TIMEOUT=80
FIREWALL=NONE
LINUX_PLUGIN=rp-pppoe.so
PPPOE_EXTRA=""
PPPD_EXTRA=""

и /etc/ppp/pppoe-guest.conf вида

ETH='eth0'
USER='guest@guest'
DEMAND=no
DNSTYPE=SPECIFY
PEERDNS=no
DNS1=82.209.213.60
DNS2=193.232.248.2
DEFAULTROUTE=yes
CONNECT_TIMEOUT=30
CONNECT_POLL=2
ACNAME=
SERVICENAME=
PING="."
PIDFILE="/var/run/$CF_BASE-pppoe.pid"
SYNCHRONOUS=no
CLAMPMSS=1412
LCP_INTERVAL=20
LCP_FAILURE=3
PPPOE_TIMEOUT=80
FIREWALL=NONE
LINUX_PLUGIN=rp-pppoe.so
PPPOE_EXTRA=""
PPPD_EXTRA="unit 1" #На госте всегда поднимается ppp1

Потом написал скриптики что-то вроде

#!/bin/sh
sudo pppoe-start /etc/ppp/pppoe-byfly.conf
sleep 3
sudo pppoe-start /etc/ppp/pppoe-guest.conf
# Add Guest's routing table.
###
# Timeout before continue
sleep 3
#
### Setup routing for Guest connection ###
# new network
route add -net 86.57.151.0 netmask 255.255.255.224 dev ppp1
# game servers
route add -net 86.57.251.28 netmask 255.255.255.255 dev ppp1
# stat.byfly.by
route add -net 86.57.253.1 netmask 255.255.255.255 dev ppp1
# www.byfly.by
route add -net 193.232.248.79 netmask 255.255.255.255 dev ppp1
# www.belpak.by
route add -net 193.232.248.80 netmask 255.255.255.255 dev ppp1
# jabber
route add -net 82.209.245.151 netmask 255.255.255.255 dev ppp1
# mogilev
route add -net 194.158.206.240 netmask 255.255.255.255 dev ppp1
route add -net 194.158.206.241 netmask 255.255.255.255 dev ppp1
route add -net 194.158.206.246 netmask 255.255.255.255 dev ppp1
# grodno
route add -net 194.158.202.59 netmask 255.255.255.255 dev ppp1
# brest
route add -net 82.209.195.15 netmask 255.255.255.255 dev ppp1
# dc
route add -net 86.57.250.0 netmask 255.255.254.0 dev ppp1
route add -net 86.57.246.0 netmask 255.255.255.0 dev ppp1
route add -net 93.84.112.0 netmask 255.255.248.0 dev ppp1
# extmedia at dc
route add -net 91.149.189.0 netmask 255.255.255.128 dev ppp1
route add -net 91.149.189.128 netmask 255.255.255.192 dev ppp1
# 24.04.2008
# tut.by at dc
route add -net 91.149.157.0 netmask 255.255.255.128 dev ppp1
# DNS
route add -net 82.209.213.60 netmask 255.255.255.255 dev ppp1
route add -net 193.232.248.2 netmask 255.255.255.255 dev ppp1

Соответственно, в /etc/sudoerc добавил

lupo ALL=NOPASSWD:/usr/sbin/pppoe-start,/usr/sbin/pppoe-stop

Для "убийства" ppp-интерфейсов написал скриптик

#!/bin/sh
sudo /usr/sbin/pppoe-stop /etc/ppp/pppoe-byfly.conf
sudo /usr/sbin/pppoe-stop /etc/ppp/pppoe-guest.conf

Дальше возможны варианты:
- создать ярлыки и в свойствах прописать запуск скриптов для запуска и остановки интерфейсов
- тоже самое сделать через kmenuedit

P.S. Делал я это достаточно давно, память плохая, возможно где-то и ошибся :)

Я Gentoo & Funtoo

Спасибо!

Сделал все аналогично тому как Вы предложили. Только не прописывал маршруты. Но все работает и без них :)

Тогда почему вы решили

slw написал(а):
Сделал все аналогично тому как Вы предложили. Только не прописывал маршруты. Но все работает и без них :)

Тогда почему вы решили, что гостевые соединения работают через нужный интерфейс?
Посмотрите статистику по интерфейсам командой ifconfig. Настройте, допустим, в /etc/make.conf

GENTOO_MIRRORS="http://ftp.byfly.by/pub/gentoo"
SYNC="rsync://ftp.mgts.by/ftp/pub/gentoo/gentoo-portage/"

проведите синхронизацию portage и посмотрите, через какой интерфейс принимаются данные.
Или приведите здесь вывод команды route -n

Я Gentoo & Funtoo

вот что получается: 1. если

вот что получается:
1. если сначала запустить pppoe-byfly.conf а потом pppoe-guest.conf, то emerge --sync идет через ppp0;
2. если сначала запустить pppoe-guest.conf а потом pppoe-byfly.conf, то emerge --sync идет через ppp1;
3. если запустить только pppoe-byfly.conf, то emerge --sync идет через ppp0;
4. если запустить только pppoe-guest.conf, то emerge --sync идет через ppp1;

Вот вывод команды route при двух запущенных соединениях:


localhost jarek # route -n
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
93.84.6.254     0.0.0.0         255.255.255.255 UH    0      0        0 ppp0
93.84.6.254     0.0.0.0         255.255.255.255 UH    0      0        0 ppp1
127.0.0.0       0.0.0.0         255.0.0.0       U     0      0        0 lo
0.0.0.0         93.84.6.254     0.0.0.0         UG    0      0        0 ppp0

Поэтому и надо изменить

Поэтому и надо изменить таблицу роутинга, как в моём скрипте, чтобы определённые IP-адреса шли через определённый ppp-интерфейс.

Я Gentoo & Funtoo

у меня племянник за 15 минут

у меня племянник за 15 минут на модеме поднял оба соединения в режиме роутера и таблицу маршрутизации в нем же прописал. модем DSL-2500. а до этого тоже изгалялся с бриджами и тп. так что, видимо, не так это и сложно :)

P.S.: Linux - это красная таблетка :-) Windows - синяя...

Можно поднять два ppp

Можно поднять два ppp соединения на linux роутере и прописать маршрутизацию там. Автор изначально не описал, поддерживает ли провайдер два ppp соединения одновременно. И, кстати, "adsl" - это pppoe, pppoa или еще что?

[re]: Можно поднять два ppp

MVG написал(а):
Можно поднять два ppp соединения на linux роутере и прописать маршрутизацию там. Автор изначально не описал, поддерживает ли провайдер два ppp соединения одновременно. И, кстати, "adsl" - это pppoe, pppoa или еще что?

2 ppp соединения одновременно поддерживаются;
adsl - pppoe

это несложно - модем или

это несложно - модем или может, или нет.

примерно так config_ppp0=(

примерно так

config_ppp0=( "ppp" )
link_ppp0="eth0"
plugins_ppp0=( "pppoe" )
username_ppp0='login'
password_ppp0='pass'
pppd_ppp0=(
#           "debug"
           "updetach"
           "defaultroute"
           "maxfail 10"
           "lcp-echo-failure 10"
           "lcp-echo-interval 60"
           )

config_ppp1=( "ppp" )
link_ppp1="eth0"
plugins_ppp1=( "pppoe" )
username_ppp1='login2'
password_ppp1='pass2'
pppd_ppp1=(
           "updetach"
           "maxfail 10"
           "lcp-echo-failure 10"
           "lcp-echo-interval 60"
           )

routes_ppp1=( "10.0.0.0/8 via 10.44.0.1 dev ppp1" )

Мой конфиг для byfly.by

Мой конфиг для byfly.by
Модем в режиме роутера, внутренний интерфейс модема имеет адрес 192.168.5.1
На модеме настроено одно pppoe подключение для гостевого доступа.
Для абонентов Минской ГТС: в поле User Name ваш_номер_договора@guest, например 1704-0001234-08@guest; если ваш логин на вход в интернет в виде

, то вам нужно указать mgts000123@guest; в поле Password - ваш пароль, указанный в договоре.
Для абонентов других областей в поле User Name укажите guest@guestи в поле Password - guest

cat /etc/conf.d/net

config_eth0=( "192.168.5.123/24" )
modules_eth0=( "!plug" )
routes_eth0=(
	    "-net 86.57.151.0 netmask 255.255.255.224 gw 192.168.5.1"
	    "86.57.251.28 gw 192.168.5.1"
	    "86.57.253.1 gw 192.168.5.1"
	    "193.232.248.79 gw 192.168.5.1"
	    "193.232.248.80 gw 192.168.5.1"
	    "82.209.245.151 gw 192.168.5.1"
	    "194.158.206.240 gw 192.168.5.1"
	    "194.158.206.241 gw 192.168.5.1"
	    "194.158.206.246 gw 192.168.5.1"
	    "194.158.202.59 gw 192.168.5.1"
	    "82.209.195.15 gw 192.168.5.1"
	    "-net 86.57.250.0 netmask 255.255.254.0 gw 192.168.5.1"
	    "-net 86.57.246.0 netmask 255.255.255.0 gw 192.168.5.1"
	    "-net 93.84.112.0 netmask 255.255.248.0 gw 192.168.5.1"
	    "-net 91.149.189.0 netmask 255.255.255.128 gw 192.168.5.1"
	    "-net 91.149.189.128 netmask 255.255.255.192 gw 192.168.5.1"
	    "-net 93.125.53.0 netmask 255.255.255.0 gw 192.168.5.1"
	    "-net 91.149.157.0 netmask 255.255.255.128 gw 192.168.5.1"
	    "82.209.213.60 gw 192.168.5.1"
	    "193.232.248.2 gw 192.168.5.1"
	    "82.209.240.241 gw 192.168.5.1"
	    "82.209.243.241 gw 192.168.5.1"
	    )
dns_servers_eth0=(
	    "82.209.240.241"
	    "82.209.243.241"
		)
		
config_ppp0=( "ppp" )
link_ppp0="eth0"
RC_NEED_ppp0="net.eth0"
plugins_ppp0=( "pppoe" )
username_ppp0='?????????????@beltel.by'
password_ppp0='????????'
pppd_ppp0=(
           "debug"
           "updetach"
           "defaultroute"
           "maxfail 10"
           "lcp-echo-failure 10"
           "lcp-echo-interval 60"
           )

Включить тарифицируемое подкючение
/etc/init.d/net.ppp0 start

Выключить тарифицируемое подкючение
/etc/init.d/net.ppp0 stop

--------------------------
Сеть свободных знаний
http://www.net-class.net/

[РЕШЕНО]

Всем большое спасибо за красивые идеи! Тему закрываем.

Настройки просмотра комментариев

Выберите нужный метод показа комментариев и нажмите "Сохранить установки".