LINUX.ORG.RU
ФорумAdmin

Ещё несколько вопросов оп PF и FreeBSD


0

0
#1/Macros                                                                                                                                                        
                                                                                                                                                                 
int_if="rl0"                                                                                                                                                     
ext_if="rl1"

#2/Tables                                                                                                                                                        
lan_net="{ 192.168.100.0/24 }"                                                                                                                                   
vpn_net="{ 192.168.200.0/24 }"                                                                                                                                   
gmail_serv="{ imap.gmail.com, smtp.gmail.com, pop.gmail.com }" 

#6/Translations
nat pass on $ext_if from $vpn_net to any -> rl1
nat pass on $ext_if from $lan_net to $gmail_serv -> rl1


#7/Filter Rules
# Блокировать всё, что не разрешено
block all

# разрешить пинг
pass inet proto icmp all icmp-type $allowed_icmp_types keep state
# разрешающий доступ (ограниченные службы)
pass in on $int_if inet proto { tcp, udp } from any to port $allowed_services modulate state
#
pass in quick on $ext_if proto $allowed_gmail_proto to port $allowed_gmail_port

Вопрос первый если я делаю так то через некоторое время отваливается доступ на гугло сервера. Ноги я так понимаю растут из того что при загрузке правил имена преобразуются в IP ??


на одном доменном имени может висеть несколько ip

hizel ★★★★★
()

Может быть, таки
pass out quick on $ext_if proto $allowed_gmail_proto to $gmail_serv port $allowed_gmail_port

Да, и применять modulate state к udp, конечно, прикольно :)

nnz ★★★★
()
Ответ на: комментарий от nnz

>на одном доменном имени может висеть несколько ip

Я об этом же. Как решить??

Да, и применять modulate state к udp, конечно, прикольно :)


ХЗ не я ставил не я настраивал. В FreeBSD не соображаю. Как правильно?

RaDiSt
() автор топика
Ответ на: комментарий от RaDiSt

Правильно написать скрипт, который будет по крону преобразовывать доменные имена в ip-адреса и писать их в файл. А из этого файла заполнять таблицу в pf. Использование доменных имен в правилах pf черевато разными косяками.

kernelpanic ★★★★★
()
Ответ на: комментарий от kernelpanic

Неее что то сложно получается. Чем сложнее тем больше глюков.

Может подойти с другой стороны? Как дать доступ юзверям на гугло сервера проще?

RaDiSt
() автор топика
Ответ на: комментарий от RaDiSt

По-моему, более разумным является решение не открывать доступ к каким-то сайтам, а наоборот, разрешить все, кроме определенного списка.

power
()
Ответ на: комментарий от RaDiSt

> ХЗ не я ставил не я настраивал. В FreeBSD не соображаю. Как правильно?
Тяжко тебе придется :)

power
()
Ответ на: комментарий от RaDiSt

>Как правильно?

Правильно — оно там вообще нафиг не нужно.
По дефолту keep state, и этого вполне достаточно.

Гипотезу насчет того, что у гугла меняются айпишники, пока считаю недоказанной. Но в принципе возможно.
Если это действительно так, варианта два:
1. Отказаться от принципа белого списка.
2. Обновлять рулесет по крону.

nnz ★★★★
()
Ответ на: комментарий от nnz

>Гипотезу насчет того, что у гугла меняются айпишники, пока считаю недоказанной. Но в принципе возможно.
У яндекса однажды менялись.

kernelpanic ★★★★★
()
Ответ на: комментарий от RaDiSt

У меня такая связка успешно с яндекс-картами работает.

А пришлось это сделать из-за косяка, когда при загрузке машины правила не стартовали - у pf не получалось распознать доменные имена, по дефолту block all, а DNS-сервер на другой машине.

kernelpanic ★★★★★
()
Ответ на: комментарий от kernelpanic

Но не каждый же час.

А на названных доменах висит по одному айпишнику и, по моим наблюдениям, они уже все утро не меняются.

nnz ★★★★
()
Ответ на: комментарий от nnz
$ host imap.gmail.com
imap.gmail.com is an alias for gmail-imap.l.google.com.
gmail-imap.l.google.com has address 74.125.77.109

Спустя пару минут:

$ host gmail-imap.l.google.com
gmail-imap.l.google.com has address 74.125.79.109
gmail-imap.l.google.com has address 74.125.79.111

Так что вполне логичным вижу заполнять таблицу айпишниками по крону.

kernelpanic ★★★★★
()
Ответ на: комментарий от RaDiSt

> >на одном доменном имени может висеть несколько ip

Я об этом же. Как решить??

Никогда не добавляй в таблицы доменные имена, только ip-адреса. Иначе у тебя pf в случае недоступности dns тупо не загрузится.

FatBastard ★★
()
Ответ на: комментарий от FatBastard

Если надо гугль в правила внести, пиши всю подсетку.

FatBastard ★★
()
Ответ на: комментарий от kernelpanic

А у меня не меняется :)
Последние два часа
gmail-imap.l.google.com has address 209.85.229.109

Видимо, провайдерские серваки с TTL глючат.

nnz ★★★★
()

man pf.conf

Рулить опциями таймаутов установленных соединений (секция options).

Никаких перезаполнений таблиц по крону — это линуксячьи выдумки.

iZEN ★★★★★
()
Ответ на: man pf.conf от iZEN

А теперь просвети меня, как это поможет организовать доступ к серверам с меняющимися ip-адресами?

kernelpanic ★★★★★
()

Да кстати, правила корявые и неправильные.

kernelpanic ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.