Вы хотели пати? Нате! Тут отдельные личности в посте про настройку роутеров серии DFL просили пример показать. Забирайте. Адреса и номера вланов, разумеется, взяты с вполне реального потолка. Сканера под рукой нет, поэтому схему, которая вполне кликабельная, фотографировал. В конце концов, сами же просили черновик…
Схема
Название | Содержимое | Комментарий |
av_ip | 10.0.0.50 | Клиентский IP-адрес, выданный провайдером Аверс-телеком |
av_gw | 10.0.0.1 | Шлюз на стороне провайдера Аверс-телеком |
av_dns_1 | 10.0.0.2 | Первичный DNS у провайдера Аверс-телеком |
av_dns_2 | 10.0.0.3 | Вторичный DNS у провайдера Аверс-телеком |
av_net | 10.0.0.0/24 | Подсеть, в которую входят IP и шлюз на стороне провайдера Аверс-телеком |
av_net_1 | 10.0.1.0/24 | Подсеть, принадлежащая провайдеру Аверс-телеком |
av_net_2 | 10.0.2.0/24 | Подсеть, принадлежащая провайдеру Аверс-телеком |
av_net_3 | 10.0.3.0/24 | Подсеть, принадлежащая провайдеру Аверс-телеком |
gs_ip | 10.1.0.50 | Клиентский IP-адрес, выданный провайдером Игра-сервис |
gs_gw | 10.1.0.1 | Шлюз на стороне провайдера Игра-сервис |
gs_dns_1 | 10.1.0.2 | Первичный DNS у провайдера Игра-сервис |
gs_dns_2 | 10.1.0.3 | Вторичный DNS у провайдера Игра-сервис |
gs_net | 10.1.0.0/24 | Подсеть, в которую входят IP и шлюз на стороне провайдера Игра-сервис |
gs_net_1 | 10.1.1.0/24 | Подсеть, принадлежащая провайдеру Игра-сервис |
gs_net_2 | 10.1.2.0/24 | Подсеть, принадлежащая провайдеру Игра-сервис |
gs_net_3 | 10.1.3.0/24 | Подсеть, принадлежащая провайдеру Игра-сервис |
lan_ip | 192.168.0.1 | IP-адрес роутера в локальной сети |
lan_subnet | 192.168.0.0/24 | Локальная подсеть |
lan_dns | 192.168.0.2 | Локальный DNS-сервер |
lan_ftp | 192.168.0.2 | Локальный FTP-сервер |
lan_ntp | 192.168.0.2 | Локальный сервер точного времени |
lan_wifi | 192.168.0.4 | IP-адрес точки доступа |
wifi_pool | 192.168.10.2-50 | Пул адресов для гостевого Wi-FI |
guest_ip | 192.168.10.1 | IP-адрес роутера со стороны гостевого Wi-FI |
guest_subnet | 192.168.10.0/24 | Подсеть для гостевого W-Fi |
pptp_pool | 192.168.0.20-30 | Пул адресов для PPTP-сервера |
pptp_sip_ip | DHCP | Адрес, получаемый при подключении к PPTP-серверу поставщика sip-телефонии |
pptp_sip_net | DHCP | Подсеть, получаемая при подключении к PPTP-серверу поставщика sip-телефонии |
pptp_sip_gw | DHCP | Шлюз, получаемый при подключении к PPTP-серверу поставщика sip-телефонии |
pptp_server | 10.10.0.1 | IP-адрес PPTP-сервера, к которому следует подключаться |
ipsec_work_psk | aabbccddeeffgg | Pre-shared key для IPSec-подключения |
ipsec_work_subnet | 192.168.100.0/24 | Подсеть, которая находится за удаленным роутером |
ipsec_work_endpoint | 10.20.0.1 | Адрес удаленного роутера для IPSec-туннеля |
Маршруты. Отмечу, что gs_nets (и av_nets) – это группа, в которую включены дополнительные подсети провайдера. Нужно это, чтобы до них можно было в принципе достучаться, если они “серые” и не ходить кругами через другого провайдера, если “белые”. Мониторим по доступности шлюза, потому что физический канал в нашем случае упадет когда-то врядли. Но если кабель провайдера воткнут прямо в роутер, можно и физический статус канала мониторить. IPSec мониторим, чтобы не долбиться туда, если оно лежит, тут мониторится как раз поднят он или нет. Маршрут в сеть, куда мы стучимся как PPTP-клиент, появится сам, когда соединение будет установлено. Это же касается и работы PPTP-сервера. Локалку не мониторим, нафиг оно не надо.
Interface | Subnet | Gateway | Metric | Monitoring |
g-service | all-nets | gs_gw | 110 | Yes |
Avers | all-nets | av_gw | 110 | Yes |
g-service | gs_net | gs_gw | 100 | Yes |
Avers | av_net | av_gw | 100 | Yes |
g-service | gs_nets | gs_gw | 100 | Yes |
Avers | av_nets | av_gw | 100 | Yes |
ipsec_work | ipsec_work_subnet | 90 | Yes | |
lan | lan_subnet | 100 | No |
Правила для траффика. 1 и 3 – запрещаем выходить любому netbios наружу ибо нефиг. 2 и 4 – все запросы из локалки и гостевого Wi-Fi выпускаем наружу, используя NAT. Обмена траффиком между гостевой зоной и локалкой нет, потому что все упрется в стандартное правило “запретить все остальное наглухо”. 5 и 6 правила – разрешаем ходить траффику к нашим PPTP-клиентам и обратно. 7 и 8 – то же самое для туннеля. 9 – разрешаем пинговать шлюз октуда угодно. 10 – прокидываем FTP-запросы к шлюзу со стороны одного из провайдеров к локальному серверу. 11 – пропускаем sip-запросы к серверу через туннель к нему. Provider – это группа интерфейсов, включающая в себя avers и g-service. Если группу не использовать, пришлось бы создавать по два отдельных правила на каждого провайдера. Та же ситуация и с PPTP-сервером.
# | source | destination | protocol | action |
1 | lan | provider | netbios | deny |
lan_subnet | any | |||
2 | lan | provider | any | nat |
lan_subnet | any | |||
3 | guest_wifi | provider | netbios | deny |
guest_subnet | any | |||
4 | guest_wifi | provider | any | nat |
guest_subnet | any | |||
5 | lan | pptp_server | any | allow |
lan_subnet | pptp_pool | |||
6 | pptp_server | lan | any | allow |
pptp_pool | lan_subnet | |||
7 | lan | ipsec_work | any | allow |
lan_subnet | ipsec_work_subnet | |||
8 | ipsec_work | lan | any | allow |
ipsec_work_subnet | lan_subnet | |||
9 | any | core | ICMP | allow |
any | any | |||
10 | g-service | core | ftp | sat to lan_ftp |
any | gs_ip | |||
11 | lan | pptp_sip | sip | nat |
lan_subnet | pptp_sip_net |
Из того, что не попало в вышесказанное. Для PPTP-сервера нужно указать где брать имена пользователей и пароли. У меня это база данных pptp_auth_db. Можно указать пул адресов для раздачи клиентом, это есть в списке для заполнения адресной книги. Пул и база пользователей у меня общая. А вот правила аутентификации, где указывается какой интерфейс и внешний ip слушать – придется создавать отдельные для каждого внешнего адреса, который будет слушать. Сервер времени используется для синхронизации времени на роутере, выставляется в соответствующей настройке. Локальный DNS используется только клиентами в локалке и, фактически, этот элемент был создан “для порядку”.
Интерфейс pptp_sip используется для ip-телефонии, но с тем же успехом это может быть и какой-то из провайдеров, тогда подпиливаем настройки по ситуации. Кстати, это может быть не PPTP, а вовсе даже и PPPoE какой-нибудь у провайдера. Подмену MAC-адреса я не использую, но это тоже можно сделать – добавится еще один элемент адресной книги и настройка интерфейса WAN, в котором сейчас все стоит в null. Из схемы видно, что у меня оба провайдера через tagged-порт заведены в один порт на роутере. Поэтому интерфейсы avers и g-service – не физические, а VLAN.
На роутере поднят DHCP-сервер, который раздает адреса из соответствующего пула. DNS используем провайдерский какой-нибудь по вкусу. Точка доступа и свитч управляются из того VLAN, который привязан к локалке. Как настроить точку доступа на несколько беспроводных сетей я уже рассказывал, собственно так оно и сделано в данном случае. Как настроить свитч – отдельная тема, быть может, когда-нибудь я ее затрону.
В целом, как-то так. Черновик, нарисованный на скорую руку, если кто-то придираться начнет 😉 Реально, нужно подходить плотнее к вопросу.