Два входа один выход

Настройка сетевых служб, маршрутизации, фаерволлов. Проблемы с сетевым оборудованием.
Правила форума
Убедительная просьба юзать теги [code] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
kuhar2007
сержант
Сообщения: 243
Зарегистрирован: 2008-12-22 14:40:35

Два входа один выход

Непрочитанное сообщение kuhar2007 » 2011-11-14 21:28:58

Всем привет.
Имеется сервак на фре, на котором есть один входящий канал, соединение происходит через pppoe. Стоит биллинг nodeny через который происходит раздача инета тоже через pppoe-сервер.
Как организовать два входа на сервере через pppoe?
Фактически должно выглядеть так: одна сетевуха дает инет на одну пачку клиентов в подсети 10.0.0.1/24, вторая например для 192.168.0.1/24.
Текущая настройка работает на маршрутизацию серых ip происходит через pf.conf.
Настроить нат, mpd и фаервол не проблема, текущая проблема возникает в том что не происходит одновременный коннект на сервере через pppoe.
Прописываю в ppp.conf следующие настройки:

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

default:
 set log Phase Chat LCP IPCP CCP tun command
 ident user-ppp VERSION
inet:
 set device PPPoE:re0
 enable lqr
 enable dns
 set cd 10
 set dial
 set login
 set redial 0 10000
 set reconnect 10 10000
 set authname user
 set authkey pass
 add default HISADDR                    # Add a (sticky) default route
inet2:
 set device PPPoE:re1
 enable lqr
 enable dns
 set cd 10
 set dial
 set login
 set redial 0 10000
 set reconnect 10 10000
 set authname user
 set authkey pass
 add default HISADDR                    # Add a (sticky) default route
Одна сетевуха подключается (tun0) и присвается ip инет есть, вторая подключается (tun1), но ip не присвается.
Может кто-то настраивал, поделитесь плизз каким макаром это организовать.

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

uname -a
FreeBSD example.com 8.2-RELEASE-p2 FreeBSD 8.2-RELEASE-p2 #0: Sat Sep 17 17:23:30 EEST 2011     kuhar@example.com:/usr/src/sys/i386/compile/KUHAR  i386

Хостинговая компания 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/

kuhar2007
сержант
Сообщения: 243
Зарегистрирован: 2008-12-22 14:40:35

Re: Два входа один выход

Непрочитанное сообщение kuhar2007 » 2011-11-14 23:34:01

Разобрался с настройками двух включений, и столкнулся с настройкой фаервола.
Подскажите как указать в фаерволе одни и те же правила только для разных интерфесов.
Сейчас прописано:

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

cat /etc/rc.firewall
#!/bin/sh -
f='/sbin/ipfw'

ifOut='tun0'

${f} -f flush

${f} add 50 allow tcp from any to me 22,21,20,8088
${f} add 51 allow tcp from me 22,21,20,8088 to any

${f} add 60 allow tcp from any to me 28560-28570

${f} add 100 deny tcp from any to any 445

${f} add 110 allow ip from any to any via lo0
${f} add 120 skipto 1000 ip from me to any
${f} add 130 deny icmp from any to any in icmptype 5,9,13,14,15,16,17
${f} add 140 deny ip from any to "table(120)"
${f} add 150 deny ip from "table(120)" to any
${f} add 160 skipto 2000 ip from any to me

${f} add 200 skipto 500 ip from any to any via ${ifOut}

${f} add 300 skipto 4500 ip from any to any in

${f} add 400 skipto 450 ip from any to any recv ${ifOut}
${f} add 420 divert 1 ip from any to any
${f} add 450 divert 2 ip from any to any
${f} add 490 allow ip from any to any

${f} add 500 skipto 32500 ip from any to any in
${f} add 510 divert 1 ip from any to any
${f} add 540 allow ip from any to any

${f} add 1000 allow udp from any 53,7723 to any
${f} add 1010 allow tcp from any to any setup keep-state
${f} add 1020 allow udp from any to any keep-state
${f} add 1100 allow ip from any to any

${f} add 2000 check-state
${f} add 2010 allow icmp from any to any
${f} add 2020 allow tcp from any to any 80,443
${f} add 2050 deny ip from any to any via ${ifOut}
${f} add 2060 allow udp from any to any 53,7723


${f} add 2100 deny ip from any to any


${f} add 32490 deny ip from any to any
Нужно точно такое же правило создать и для "tun1". Как организовать?

v1lk0
рядовой
Сообщения: 12
Зарегистрирован: 2010-08-10 21:32:14
Откуда: Великий Новгород

Re: Два входа один выход

Непрочитанное сообщение v1lk0 » 2011-11-15 21:36:18

А где собственно нат? :smile:

kuhar2007
сержант
Сообщения: 243
Зарегистрирован: 2008-12-22 14:40:35

Re: Два входа один выход

Непрочитанное сообщение kuhar2007 » 2011-11-16 15:54:28

Внес следующие настройки:

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

cat /etc/rc.firewall
#!/bin/sh -
f='/sbin/ipfw'

ifOut='tun0'

${f} -f flush

${f} add 50 allow tcp from any to me 22,21,20,8088
${f} add 51 allow tcp from me 22,21,20,8088 to any

${f} add 60 allow tcp from any to me 28560-28570

${f} add 100 deny tcp from any to any 445

${f} add 110 allow ip from any to any via lo0
${f} add 120 skipto 1000 ip from me to any
${f} add 130 deny icmp from any to any in icmptype 5,9,13,14,15,16,17
${f} add 140 deny ip from any to "table(120)"
${f} add 150 deny ip from "table(120)" to any
${f} add 160 skipto 2000 ip from any to me

${f} add 200 skipto 500 ip from any to any via ${ifOut}

${f} add 300 skipto 4500 ip from any to any in

${f} add 400 skipto 450 ip from any to any recv ${ifOut}
${f} add 420 divert 1 ip from any to any
${f} add 450 divert 2 ip from any to any
${f} add 490 allow ip from any to any

${f} add 500 skipto 32500 ip from any to any in
${f} add 510 divert 1 ip from any to any
${f} add 540 allow ip from any to any

${f} add 1000 allow udp from any 53,7723 to any
${f} add 1010 allow tcp from any to any setup keep-state
${f} add 1020 allow udp from any to any keep-state
${f} add 1100 allow ip from any to any

${f} add 2000 check-state
${f} add 2010 allow icmp from any to any
${f} add 2020 allow tcp from any to any 80,443
${f} add 2050 deny ip from any to any via ${ifOut}
${f} add 2060 allow udp from any to any 53,7723

${f} add 2100 deny ip from any to any


${f} add 32490 deny ip from any to any

ifOut2='tun1'

${f} add 201 skipto 500 ip from any to any via ${ifOut2}

${f} add 401 skipto 450 ip from any to any recv ${ifOut2}

${f} add 2051 deny ip from any to any via ${ifOut2}
Добавил в mpd.conf

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

pppoe_server_2:

        create bundle template B
        set ipcp ranges 192.168.10.10/32 127.0.0.3/32
        set ipcp dns 212.115.255.5 10.0.1.1
        set ccp yes mppc
        set mppc yes e40
        set mppc yes e56
        set mppc yes e128
        set mppc yes stateless
        set ecp disable dese-bis dese-old

        create link template common pppoe
        set link enable multilink
        set link action bundle B
        set link disable chap pap eap
        set link enable pap
        load radius
        set pppoe service "*"

        create link template vr0 common
        set link max-children 1000
        set pppoe iface vr0
        set link enable incoming
И в pf.conf

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

nat pass on re1 from 192.253.0.0/24 to any -> re1
re1 - вторая сетевуха, которая принимает вход
Клиент получает новый ip, но трафик идет через первый входящий канал.
Подскажите, как завернуть трафик, чтобы он ишел со второго канала?
Насколько я понял нужно настроить роутинг, можете подсказать как это осуществить?

kuhar2007
сержант
Сообщения: 243
Зарегистрирован: 2008-12-22 14:40:35

Re: Два входа один выход

Непрочитанное сообщение kuhar2007 » 2011-11-23 17:13:20

Может кто-то сможет помочь за wmz?