2 ppp интернет соединения

Проблемы установки, настройки и работы Правильной Операционной Системы

Модератор: terminus

Правила форума
Убедительная просьба юзать теги [cоde] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
Smash
рядовой
Сообщения: 24
Зарегистрирован: 2007-04-18 17:04:50

2 ppp интернет соединения

Непрочитанное сообщение Smash » 2007-04-18 18:16:57

Добрый день. Я уже не мало статей перечитал, но всё же не доведу до ума свой сервак.

У меня FreeBSD 5.3-RELEASE

Есть 2 канала интернет.

1. 128 kb/s unlim реальный айпи - нужно пускать по этому каналу: сайт, почта, фтп, сквид
2. 512 kb/s unlim динамический айпи - нужно пускать натом остальных юзеров

Я настроил для
1. ppp+nat (ppp)=tun0 - defaultrout

2. ppp = tun1 - ipfw+nat и заворачиваю на шлюз tun1, т.е. 512 анлим


Код: Выделить всё

natd -interface tun1 -dynamic -redirect_address 10.0.0.2 82.207.11.67 -p 8668

00600  136109  15831128 divert 8668 ip from 10.0.0.0/24 to any
00700   52390   3458076 fwd 195.5.5.9 ip from 82.207.38.26 to any
00800  136121 177398392 divert 8668 ip from any to 82.207.38.26
Всё отлично работает. Вопрос в том, что при восстановлении ppp после падения меняются ip & GW тунеля для 512, а для 128 только GW может изменяться, ip - постоянный. Т.е. нужно писать скрипт для изменения правил фаервола с новым шлюзом и ip для 512, перезапуска ната, но я в скриптах не силён.

У меня есть следующие идеи обхода этой проблемы:

1. Поднимать defaultrout на tun1 - т.е. 512, а скрипт для выдирания шлюза описан в сатье http://www.lissyara.su/?id=1330 на вашем сайте, который я применю на случай падения tun0 - 128 с постоянным адрессом.

2. Настроить модем в режим роутер + ppp клиент, поднять на нём 512, а 128 поднимать по ppp. Тогда у меня будет tun0 defaultrout, а айпишник модема я смогу использовать как альтернативный постоянный шлюз.

Что думаете, какой вариант выбрать, какой правильнее?
Я бы хотел настроить способ со скриптами. Никогда не ищу лёгких путей ;)
Заранее благодарен.

Хостинговая компания Host-Food.ru
Хостинг HostFood.ru
 

Услуги хостинговой компании Host-Food.ru

Хостинг HostFood.ru

Тарифы на хостинг в России, от 12 рублей: https://www.host-food.ru/tariffs/hosting/
Тарифы на виртуальные сервера (VPS/VDS/KVM) в РФ, от 189 руб.: https://www.host-food.ru/tariffs/virtualny-server-vps/
Выделенные сервера, Россия, Москва, от 2000 рублей (HP Proliant G5, Intel Xeon E5430 (2.66GHz, Quad-Core, 12Mb), 8Gb RAM, 2x300Gb SAS HDD, P400i, 512Mb, BBU):
https://www.host-food.ru/tariffs/vydelennyi-server-ds/
Недорогие домены в популярных зонах: https://www.host-food.ru/domains/

Аватара пользователя
dikens3
подполковник
Сообщения: 4856
Зарегистрирован: 2006-09-06 16:24:08
Откуда: Нижний Новгород
Контактная информация:

Непрочитанное сообщение dikens3 » 2007-04-18 18:30:23

Я начал бы с того, что PPP умеет сам натить и запускать ещё один нат смысла не имеет.
Необходимо настроить nat'ы при поднятии интерфейсов. И уже с помощью ipfw отправлять нужными маршрутами. (или прописать статически)

Цель какая? Только то что описано?

вывод ifconfig покажи.
Как запускается Firewall?

P.S. А что за ppp соединения с 512К?
Лучше установить FreeBSD, чем потратить 30 лет на Linux'ы и выяснить какой из них хуже.

Smash
рядовой
Сообщения: 24
Зарегистрирован: 2007-04-18 17:04:50

Непрочитанное сообщение Smash » 2007-04-18 21:46:30

Почему-то я не догадался проверить, но тогда вы скажите, если я подниму и во втором ппп на 512 нат, то разве он не перебъёт нат в ппп на 128? Можно ли запустить 2 ната на обоих ппп соединениях и не использовать фаервол вообще?

Общая задача - настроить чтобы одновременно работали оба интернета хотя бы как я расписал
1. 128 kb/s unlim реальный айпи - нужно пускать по этому каналу: сайт, почта, фтп, сквид
2. 512 kb/s unlim динамический айпи - нужно пускать натом остальных юзеров
Естественно, потом я нужно будет крутить эти каналы, как я захочу, но то уже фаерволом, пока это не так важно.

Т.е. я уже добился выполнения Общей задачи, то теперь мне нужно её довести до ума, т.е. чтобы при перезагрузке сервака или хотя бы ппп соединений, интернет на сквиде, сайте, почте и у юзеров не пропадал.

вывод ifconfig покажи.

Код: Выделить всё

%ifconfig
rl0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500
        options=8<VLAN_MTU>
        inet 10.0.0.1 netmask 0xffffff00 broadcast 10.0.0.255
        inet6 fe80::2e0:4dff:fe05:5c9e%rl0 prefixlen 64 scopeid 0x1
        ether 00:e0:4d:05:5c:9e
        media: Ethernet autoselect (100baseTX <full-duplex>)
        status: active
vr0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500
        inet 192.168.1.2 netmask 0xffffff00 broadcast 192.168.1.255
        inet6 fe80::217:9aff:febb:cee4%vr0 prefixlen 64 scopeid 0x2
        ether 00:17:9a:bb:ce:e4
        media: Ethernet autoselect (100baseTX <full-duplex>)
        status: active
plip0: flags=108810<POINTOPOINT,SIMPLEX,MULTICAST> mtu 1500
lo0: flags=8049<UP,LOOPBACK,RUNNING,MULTICAST> mtu 16384
        inet 127.0.0.1 netmask 0xff000000
        inet6 ::1 prefixlen 128
        inet6 fe80::1%lo0 prefixlen 64 scopeid 0x4
tun0: flags=8051<UP,POINTOPOINT,RUNNING,MULTICAST> mtu 1492
        inet 82.207.111.111 --> 195.5.5.128 netmask 0xffffffff
        Opened by PID 452
tun1: flags=8051<UP,POINTOPOINT,RUNNING,MULTICAST> mtu 1492
        inet 82.207.38.26 --> 195.5.5.9 netmask 0xffffffff
        Opened by PID 583
Как запускается Firewall?
Пока он запускается так

Код: Выделить всё

firewall_enable="YES"
firewall_quite="YES"
firewall_type="OPEN"
А потом вручную добавляю правила диверта и форварда
P.S. А что за ppp соединения с 512К?
Не пойму вопроса? 512 кб/сек 2й канал интернет с динамический адрессом

Аватара пользователя
dikens3
подполковник
Сообщения: 4856
Зарегистрирован: 2006-09-06 16:24:08
Откуда: Нижний Новгород
Контактная информация:

Непрочитанное сообщение dikens3 » 2007-04-19 9:54:17

Smash писал(а):Почему-то я не догадался проверить, но тогда вы скажите, если я подниму и во втором ппп на 512 нат, то разве он не перебъёт нат в ппп на 128? Можно ли запустить 2 ната на обоих ппп соединениях и не использовать фаервол вообще?
Попробуй. Должны работать. Сам не пробовал.
1. 128 kb/s unlim реальный айпи - нужно пускать по этому каналу: сайт, почта, фтп, сквид
2. 512 kb/s unlim динамический айпи - нужно пускать натом остальных юзеров
Что будешь делать если канал 128 или 512 отвалится?
Лучше установить FreeBSD, чем потратить 30 лет на Linux'ы и выяснить какой из них хуже.

Аватара пользователя
dikens3
подполковник
Сообщения: 4856
Зарегистрирован: 2006-09-06 16:24:08
Откуда: Нижний Новгород
Контактная информация:

Непрочитанное сообщение dikens3 » 2007-04-19 10:01:01

посмотри как у меня выдирается маршрут в firewall. Сделай так же, только у тебя должно быть так:

Код: Выделить всё

testgwvt=$(/sbin/ifconfig | grep -A1 tun0 | tail -n1 | awk '{print $4}')
Посмотри ручками что пишет(какой IP):

Код: Выделить всё

/sbin/ifconfig | grep -A1 tun0 | tail -n1 | awk '{print $4}'
Лучше установить FreeBSD, чем потратить 30 лет на Linux'ы и выяснить какой из них хуже.

Гость
проходил мимо

Непрочитанное сообщение Гость » 2007-04-19 10:06:23

Всё отлично работает. Вопрос в том, что при восстановлении ppp после падения меняются ip & GW тунеля для 512, а для 128 только GW может изменяться, ip - постоянный. Т.е. нужно писать скрипт для изменения правил фаервола с новым шлюзом и ip для 512, перезапуска ната, но я в скриптах не силён.
Вот если бы кто помог этот скрипт написать, я видел у тебя в статье есть скрипт для изъятия шлюза соединения, а вот если бы кто помог написать и для айпишника.

В этом то и проблема вся.

Гость
проходил мимо

Непрочитанное сообщение Гость » 2007-04-19 10:09:54

Код: Выделить всё

/sbin/ifconfig | grep -A1 tun0 | tail -n1 | awk '{print $4}'
Пишет шлюз подключения tun0 - 128kb/s
Это тоже пригодится, но нужен айпишник и шлюз tun1 512 kb/s

Smash
рядовой
Сообщения: 24
Зарегистрирован: 2007-04-18 17:04:50

Непрочитанное сообщение Smash » 2007-04-19 10:13:14

dikens3

Гость - это я, просто забыл залогиниться :)

Аватара пользователя
dikens3
подполковник
Сообщения: 4856
Зарегистрирован: 2006-09-06 16:24:08
Откуда: Нижний Новгород
Контактная информация:

Непрочитанное сообщение dikens3 » 2007-04-19 10:20:04

tun0 - из какого туннеля
print $4 - какое поле ($4 - шлюз, $2 - ip-Адрес)
Лучше установить FreeBSD, чем потратить 30 лет на Linux'ы и выяснить какой из них хуже.

Smash
рядовой
Сообщения: 24
Зарегистрирован: 2007-04-18 17:04:50

Непрочитанное сообщение Smash » 2007-04-19 10:26:24

Вот класс, спасибо что объяснил содержание скрипта. Все работает. Извини, в тот раз я даже поленился просмотреть его содержание и включить логику, когда ты попросил 1й раз проверить, что выдаст.

Дак как посоветуешь лучше сделать?
1. Поднимать defaultrout на tun1 - т.е. 512, а скрипт для выдирания шлюза описан в сатье http://www.lissyara.su/?id=1330 на вашем сайте, который я применю на случай падения tun0 - 128 с постоянным адрессом.

2. Настроить модем в режим роутер + ppp клиент, поднять на нём 512, а 128 поднимать по ppp. Тогда у меня будет tun0 defaultrout, а айпишник модема я смогу использовать как альтернативный постоянный шлюз.
Или скрпитам через фаервол?

Мне кажется правильнее скриптами.

Аватара пользователя
dikens3
подполковник
Сообщения: 4856
Зарегистрирован: 2006-09-06 16:24:08
Откуда: Нижний Новгород
Контактная информация:

Непрочитанное сообщение dikens3 » 2007-04-19 11:03:13

Давай сам решай. Что больше тебе нравится и на что хватит знаний. Тебе обслуживать сервер, не так ли?
Лучше установить FreeBSD, чем потратить 30 лет на Linux'ы и выяснить какой из них хуже.

Smash
рядовой
Сообщения: 24
Зарегистрирован: 2007-04-18 17:04:50

Непрочитанное сообщение Smash » 2007-04-19 11:20:49

Спасибо за помощь! :P Самое большое удовольствие получать знания на пути к решению задачи ;)

Smash
рядовой
Сообщения: 24
Зарегистрирован: 2007-04-18 17:04:50

Непрочитанное сообщение Smash » 2007-04-19 12:47:54

Если на обеих тунеля поднимать нат на уровне ппп, то не работает вообще :(

Аватара пользователя
dikens3
подполковник
Сообщения: 4856
Зарегистрирован: 2006-09-06 16:24:08
Откуда: Нижний Новгород
Контактная информация:

Непрочитанное сообщение dikens3 » 2007-04-19 13:11:51

Smash писал(а):Если на обеих тунеля поднимать нат на уровне ппп, то не работает вообще :(
Divertы не нужны, всё должно маршрутизироваться на уровне ipfw или таблицы маршрутизации.

P.S. В ppp есть логи. Их можно посмотреть. Если не работает, тогда поднимай нат без ppp.
Лучше установить FreeBSD, чем потратить 30 лет на Linux'ы и выяснить какой из них хуже.

Smash
рядовой
Сообщения: 24
Зарегистрирован: 2007-04-18 17:04:50

Непрочитанное сообщение Smash » 2007-04-19 13:40:54

Не могу довести до ума запускной файл, просто я в шел программировании не имею опыта

Код: Выделить всё

#!/bin/sh -

ipt=$(/sbin/ifconfig | grep -A1 tun1 | tail -n1 | awk '{print $2}')
gwvt=$(/sbin/ifconfig | grep -A1 tun1 | tail -n1 | awk '{print $4}')



/sbin/natd -interface tun1 -dynamic -redirect_address 10.0.0.2 $(ipt) -p 8668

/sbin/ipfw -f flush

/sbin/ipfw add 100 pass all from any to any via lo0
/sbin/ipfw add 200 deny all from any to 127.0.0.0/8
/sbin/ipfw add 300 deny ip from 127.0.0.0/8 to any

/sbin/ipfw add 400 allow ip from 10.0.0.0/24 to 10.0.0.1
/sbin/ipfw add 500 allow ip from 10.0.0.1 to 10.0.0.0/24

/sbin/ipfw add 600 divert 8668 ip from 10.0.0.2 to any
/sbin/ipfw add 700 forward $(gwvt) ip from $(ipt) to any
/sbin/ipfw add 800 divert 8668 ip from any to $(ipt)


/sbin/ipfw add 65000 pass all from any to any
Так не работает :(
Да и вообще не пойму, один и тот же файл с правилами фаервола для разрешения локального трафика запускаю по ссш - включается одно правило - запрет всего, если с сервака на прямую, то срабатывают все правила.
Подскажи плз, что не так?
Было бы здорово, если бы ты написал файл скрипта для моего случая.
Заранее благодарен.

Smash
рядовой
Сообщения: 24
Зарегистрирован: 2007-04-18 17:04:50

Непрочитанное сообщение Smash » 2007-04-19 15:38:51

Спасибо за помощь. Что хотел узнать узнал :)