VPN, ipfw

Настройка сетевых служб, маршрутизации, фаерволлов. Проблемы с сетевым оборудованием.
Правила форума
Убедительная просьба юзать теги [code] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
almos
ефрейтор
Сообщения: 55
Зарегистрирован: 2006-03-31 0:24:24
Контактная информация:

VPN, ipfw

Непрочитанное сообщение almos » 2006-06-03 12:11:37

Hi all!

Ситуация такая:
Есть сервер на FreeBSD6-STABLE, он обеспечивает раздачу инета посредством VPN.

Используемый софт: Abills 0.31(биллинговая система), EXPPP, poptop 1.2.3, MySql 5.0, squid 2.5stable11

Все работает прекрастно, но есть такая траба: нужно правильно настроить файрволл и сетевые интерфейсы сервера.
Локалка из которой приходят запросы на авторизацию: 192.168.0.*, динамически раздаваемые адреса: 10.0.1.*. При подключении к серверу, в свойствах соединения адрес сервера - 192.168.0.200. Откуда он берется ума не приложу, уже все конфиги перелопатил, незнаю, а нужно чтобы адрес сервера был 10.0.1.1, и чтобы пакеты бегали через него.

Т.е. необходимо реализовать следующее
1. Установить виртуальный адрес сервера 10.0.1.1
2. В конфиге poptop'a прописать маршрут для клиентов по умолчанию, то же касается и днс'a и разрешить из локалки только протокол gre (для vpn подключений), все остальное вырубить нах
3. Правило прозрачного проксирования squid (в принципе я его написал)

фаер - ipfw

Подскажите как эти правила реализовать.
Заранее благодарен.

Хостинговая компания 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/
Выделенные сервера, Россия, Москва, от 2460 рублей (8 CPU, 8Gb RAM, 2x500Gb HDD, RAID 3ware 9750):
https://www.host-food.ru/tariffs/vydelennyi-server-ds/
Недорогие домены в популярных зонах: https://www.host-food.ru/domains/

Аватара пользователя
Alex Keda
стреляли...
Сообщения: 35037
Зарегистрирован: 2004-10-18 14:25:19
Откуда: Made in USSR
Контактная информация:

Непрочитанное сообщение Alex Keda » 2006-06-03 12:30:28

кто IP раздаёт - какое приложение? poptop?
Убей их всех! Бог потом рассортирует...

almos
ефрейтор
Сообщения: 55
Зарегистрирован: 2006-03-31 0:24:24
Контактная информация:

Непрочитанное сообщение almos » 2006-06-03 12:44:18

Нет, не poptop, раздает abills.

Значит, до чего я дошел:
1. Прописал в rc.conf такое:
ifconfig_rl0_alias0="inet 10.0.1.1 netmask 255.255.255.0"
Виртуальный интерфейс успешно поднялся.

2. В /etc/ppp/options.pptpd прописал:
ms-dns 10.0.1.1

3. В /usr/local/etc/pptpd.conf
localip 10.0.1.1

4. В /etc/ppp/ppp.conf, секция pptpd
set ifaddr 10.0.1.1/0 10.0.1.0/0 255.255.255.255

После чего в графе адрес сервера (свойства соединения) начал отображатся виртуальные сервер, а маршрут по умолчанию в форточках - 10.0.1.1

Теперь проблема сводится к тому чтобы прописать правильные правила для ipfw и все остальное запретить, а также делать прозрачный редирект на сквид, т.к. он сейчас не работает.
В скиде прописал alc из 10.0.1.0/24

Аватара пользователя
Alex Keda
стреляли...
Сообщения: 35037
Зарегистрирован: 2004-10-18 14:25:19
Откуда: Made in USSR
Контактная информация:

Непрочитанное сообщение Alex Keda » 2006-06-03 13:04:13

ну так вначале редирект, потом нат...
Убей их всех! Бог потом рассортирует...

almos
ефрейтор
Сообщения: 55
Зарегистрирован: 2006-03-31 0:24:24
Контактная информация:

Непрочитанное сообщение almos » 2006-06-03 14:16:33

Короче, решил всех послать на прокси
ipfw add fwd 127.0.0.1,3128 tcp from any to any via 80
В результате чего получил Access denied

Мне нужно пускать в нет только 10.0.1.0/24
Где баг?

Вот мой конфиг сквида:

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

http_port 3128
icp_port 0
hierarchy_stoplist cgi-bin ?
acl QUERY urlpath_regex cgi-bin \?
no_cache deny QUERY
cache_mem 128 MB
maximum_object_size 8092 KB
maximum_object_size_in_memory 512 KB
cache_dir ufs /usr/local/squid/cache 2048 64 256
cache_access_log /var/log/squid/access.log
cache_log /var/log/squid/cache.log
cache_store_log /var/log/squid/store.log
cache_mgr admin@link.vn.ua
visible_hostname link.vn.ua
tcp_outgoing_address 82.207.71.93
dns_nameservers 192.168.0.1 10.0.0.1 82.207.71.1 82.207.71.2
refresh_pattern ^ftp:           1440    20%     10080
refresh_pattern ^gopher:        1440    0%      1440
refresh_pattern .               0       20%     4320

acl     all             src             0.0.0.0/0.0.0.0
acl     localhost       src             127.0.0.0/8
acl     our_networks    src             10.0.1.0/24
http_access     allow   our_networks
http_access     allow   localhost
http_access     deny    all

httpd_accel_host virtual
httpd_accel_port 80
httpd_accel_uses_host_header on

coredump_dir /usr/local/squid/cache
pid_filename /usr/local/squid/logs/squid.pid

Аватара пользователя
Alex Keda
стреляли...
Сообщения: 35037
Зарегистрирован: 2004-10-18 14:25:19
Откуда: Made in USSR
Контактная информация:

Непрочитанное сообщение Alex Keda » 2006-06-03 16:29:16

акцесс дениед сквидовый?
странно. вроде без косяков всё...
Убей их всех! Бог потом рассортирует...

almos
ефрейтор
Сообщения: 55
Зарегистрирован: 2006-03-31 0:24:24
Контактная информация:

Непрочитанное сообщение almos » 2006-06-05 19:37:20

Багу нашел, надо было так редиректить на сквид:
ipfw add fwd 10.0.1.1,3128 tcp ....., т.е. вместо 127.0.0.1 прописать алиас прикрепленный к rl0

almos
ефрейтор
Сообщения: 55
Зарегистрирован: 2006-03-31 0:24:24
Контактная информация:

Непрочитанное сообщение almos » 2006-06-06 9:38:53

Проблема в том что мне нужно написать такой файрволл:
1. Запретить всю хрень на внешних интерфейсах, т.е. частные сети (ну с этим вроде нормально)
2. Разрешить протокол gre и порт 1723 tcp на сервере для адресов находящихся внутри локалки 192.168.0.0/24, а также порт 80-й на сервере
там биллинг крутится, также разрешить ssh, icmp. Все остальное нах.
3. Из внешних портом открыть только pop3,imap,smtp,http,https,ssh,ftp, а также icmp
4. Но вот тут у закрался самый интерестный прикол: для ограничения скорости в биллинге используется ipfw pipes, и он пхает правила в фаерa
при инициализации юзверей, пайпы такого типа:
$IPFW add $fw_num_out pipe $pipe_num_out ip from any to any via $INTERFACE out
$IPFW pipe $pipe_num_out config bw ". $speed_out ."Kbit/s queue 10Kbytes
это выдержки из инициализационного скрипта, я вот не могу понять, в результате получаем набор правил, я не могу понять, а где привязка к ip динамически в
ыделяемому, и они добавляются в конец фаера, последнее врямя стал замечать глюки с инетом, когда для правила не создаются (ограничений нет, а несколько правил в фаере уже находится.)
Проблема сделать так, чтобы с учетом фаера ограничевающего доступ по пуктам 1,2,3 интегрировать эти правила. Где они должны находится? В начале, в конце ????

Аватара пользователя
Alex Keda
стреляли...
Сообщения: 35037
Зарегистрирован: 2004-10-18 14:25:19
Откуда: Made in USSR
Контактная информация:

Непрочитанное сообщение Alex Keda » 2006-06-06 13:21:00

в начале
Убей их всех! Бог потом рассортирует...