URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID1
Нить номер: 90043
[ Назад ]

Исходное сообщение
"VPN и фаервол"

Отправлено JackRip , 16-Окт-10 10:29 
Привет всем.
Не могу, что-то сообразить, как правильно написать правила.
Есть фряха 7.1. В ней поднят впн через gif-интерфейсы (как в хендбуке). Пишу в ipfw в главном офисе такую цепочку правил:
ipfw add 100 allow ip from any to any via lo0
ipfw add 200 allow ip from any to any via {localInterface}
ipfw add 300 allow ip from any to any via gif1
ipfw add 400 allow ip from any to any via gif2
ipfw add 500 deny ip from any to any

В фаерволах в филиалах (gif1, gif2) все разрешено.
Цель - в главном офисе закрыть доступ в инет, при этом разрешить свободное хождение пакетов между всеми локалками.
Подскажите, пожалуйста, что я упускаю?


Содержание

Сообщения в этом обсуждении
"VPN и фаервол"
Отправлено PavelR , 16-Окт-10 12:52 
>[оверквотинг удален]
> Пишу в ipfw в главном офисе такую цепочку правил:
> ipfw add 100 allow ip from any to any via lo0
> ipfw add 200 allow ip from any to any via {localInterface}
> ipfw add 300 allow ip from any to any via gif1
> ipfw add 400 allow ip from any to any via gif2
> ipfw add 500 deny ip from any to any
> В фаерволах в филиалах (gif1, gif2) все разрешено.
> Цель - в главном офисе закрыть доступ в инет, при этом разрешить
> свободное хождение пакетов между всеми локалками.
> Подскажите, пожалуйста, что я упускаю?

Вы забыли почитать man ipfw

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

out recv gif1 xmit {localInterface}
out recv gif1 xmit gif2
out recv gif2 xmit {localInterface}
out recv gif2 xmit gif1
out recv {localInterface} xmit gif1
out recv {localInterface} xmit gif2


читайте маны, они рулят.


"VPN и фаервол"
Отправлено JackRip , 16-Окт-10 14:52 
почитал. возможно, не осознал... правила привел к виду:

/sbin/ipfw add 100 allow ip from any to any via lo0
/sbin/ipfw add 200 allow ip from any to any via rl0
/sbin/ipfw add 300 allow ip from any to any via gif1
/sbin/ipfw add 400 allow ip from any to any via gif2
/sbin/ipfw add 1801 allow ip from any to any out recv rl0 xmit gif1
/sbin/ipfw add 1802 allow ip from any to any out recv rl0 xmit gif2
/sbin/ipfw add 1815 allow ip from any to any out recv gif1 xmit rl0
/sbin/ipfw add 1816 allow ip from any to any out recv gif2 xmit rl0
/sbin/ipfw add 1850 deny ip from any to any

rl0 - локальный интерфейс.
т.е. меня интересует только хождение пакетов между rl0-gif1 и rl0-gif2. gif1-gif2 - не важны.

Все равно что-то тут не так.


"VPN и фаервол"
Отправлено PavelR , 16-Окт-10 18:14 
>[оверквотинг удален]
> /sbin/ipfw add 400 allow ip from any to any via gif2
> /sbin/ipfw add 1801 allow ip from any to any out recv rl0
> xmit gif1
> /sbin/ipfw add 1802 allow ip from any to any out recv rl0
> xmit gif2
> /sbin/ipfw add 1815 allow ip from any to any out recv gif1
> xmit rl0
> /sbin/ipfw add 1816 allow ip from any to any out recv gif2
> xmit rl0
> /sbin/ipfw add 1850 deny ip from any to any

Вы себе отчет в своих действиях отдаете ?

Похоже, бездумно копируете ...

Так и до "rm -rf /" недолго "докопироваться".



"VPN и фаервол"
Отправлено JackRip , 16-Окт-10 21:31 
> Вы себе отчет в своих действиях отдаете ?
> Похоже, бездумно копируете ...
> Так и до "rm -rf /" недолго "докопироваться".

ВЕроятно, до конца не отдаю.
В хендбуке прописано, что для работы впн достаточно правила allow ip from any to any via gif. Вы внесли определенное дополнение, в мануале по этому поводу я - для себя - ниче не сумел найти, воспроизвел логику, как смог.
Если Вам есть что сказать по делу - большое спасибо.
Если нет - большое спасибо за участие и проходите мимо.

ЗЫ: любой вопрос на любом форуме можно свести к ответу "РТФМ!".


"VPN и фаервол"
Отправлено Aquarius , 16-Окт-10 15:41 
>[оверквотинг удален]
> Пишу в ipfw в главном офисе такую цепочку правил:
> ipfw add 100 allow ip from any to any via lo0
> ipfw add 200 allow ip from any to any via {localInterface}
> ipfw add 300 allow ip from any to any via gif1
> ipfw add 400 allow ip from any to any via gif2
> ipfw add 500 deny ip from any to any
> В фаерволах в филиалах (gif1, gif2) все разрешено.
> Цель - в главном офисе закрыть доступ в инет, при этом разрешить
> свободное хождение пакетов между всеми локалками.
> Подскажите, пожалуйста, что я упускаю?

маршруты?


"VPN и фаервол"
Отправлено JackRip , 16-Окт-10 15:52 
> маршруты?

маршруты задаются в rc.conf в стиле:

static_routes="vpn0 vpn1 vpn2 vpn3 vpn4 vpn5 vpn6 vpn7 vpn8 vpn9 vpn10 vpn11 vpn12 vpn13 vpn14"
route_vpn2="192.168.2.0 192.168.2.1"
route_vpn3="192.168.3.0 192.168.3.1"

Честно говоря, не думаю, что проблема в маршрутах, т.к. при установке последнего правила в allow all, все работает.


"VPN и фаервол"
Отправлено Aquarius , 16-Окт-10 16:11 
> route_vpn2="192.168.2.0 192.168.2.1"
> route_vpn3="192.168.3.0 192.168.3.1"

Гы! а я - думаю 8)

netstat -rnf inet |grep '192.168.'

P.S. слона-то я и не приметил!
> при установке последнего
> правила в allow all, все работает.

а это сделано:

Добавьте правила к брандмауэрам обеих хостов для включения IKE, ESP и IPENCAP трафика:

ipfw add 1 allow udp from A.B.C.D to W.X.Y.Z isakmp
ipfw add 1 allow udp from W.X.Y.Z to A.B.C.D isakmp
ipfw add 1 allow esp from A.B.C.D to W.X.Y.Z
ipfw add 1 allow esp from W.X.Y.Z to A.B.C.D
ipfw add 1 allow ipencap from A.B.C.D to W.X.Y.Z
ipfw add 1 allow ipencap from W.X.Y.Z to A.B.C.D
?


"VPN и фаервол"
Отправлено JackRip , 16-Окт-10 16:33 
> Гы! а я - думаю 8)
> netstat -rnf inet |grep '192.168.'

serv-inet# netstat -rnf inet | grep '192.168.'
192.168.1.0/24     link#3             UC          0        0    rl0
192.168.1.1        127.0.0.1          UH          0        0    lo0
192.168.1.7        00:15:5d:01:0f:18  UHLW        1     2794    rl0   1073
192.168.1.10       00:15:5d:01:0d:0a  UHLW        1    32590    rl0   1181
192.168.1.255      ff:ff:ff:ff:ff:ff  UHLWb       1        1    rl0
192.168.2.0/24     192.168.2.1        UGS         0      288   gif2
192.168.2.1        192.168.1.1        UH          1        0   gif2
192.168.3.0/24     192.168.3.1        UGS         0     9184   gif3
192.168.3.1        192.168.1.1        UH          1       26   gif3

> а это сделано:
> Добавьте правила к брандмауэрам обеих хостов для включения IKE, ESP и IPENCAP
> трафика:
> ipfw add 1 allow udp from A.B.C.D to W.X.Y.Z isakmp
> ipfw add 1 allow udp from W.X.Y.Z to A.B.C.D isakmp
> ipfw add 1 allow esp from A.B.C.D to W.X.Y.Z
> ipfw add 1 allow esp from W.X.Y.Z to A.B.C.D
> ipfw add 1 allow ipencap from A.B.C.D to W.X.Y.Z
> ipfw add 1 allow ipencap from W.X.Y.Z to A.B.C.D
> ?

хм. а вот этого и не сделал.
попробую добавить.
а можно ссылку, откуда это?


"VPN и фаервол"
Отправлено Aquarius , 16-Окт-10 17:00 
> хм. а вот этого и не сделал.
> попробую добавить.
> а можно ссылку, откуда это?

http://www.freebsd.org/doc/ru/books/handbook/ipsec.html

P.S.
ipencap - транспорт туннелирования для gif
esp - транспорт ipsec (Encapsulated Security Payload)
isakmp - порт UDP для обмена служебной информацией демонов IKE
номер правил, разумеется, не обязан быть 1, в примере используется этот номер для того, чтобы правила ipfw, связанные с kernel nat/natd не создавали помех


"VPN и фаервол"
Отправлено JackRip , 16-Окт-10 17:07 
>> хм. а вот этого и не сделал.
>> попробую добавить.
>> а можно ссылку, откуда это?
> http://www.freebsd.org/doc/ru/books/handbook/ipsec.html

так и думал.
я не включал ipsec. все работает только как маршрутизатор, по большому счету (шаг1 хендбука).