имеем:
ipfw show
...
00003 0 0 check-state
...
00007 24950 3572946 allow tcp from 192.168.0.0/24 to any dst-port 22 out via tun0 keep-state
...
65000 10846003 5514119444 allow log logamount 300 ip from any to any
(чтобы всё работало во время ковыряний).
Проблема:
less /var/log/security
...
Feb 4 16:20:31 fire kernel: ipfw: 65000 Accept TCP 64.105.32.83:48031 77.247.29.74:22 in via tun0
т.е. получается, что несмотря на keep-state, как минмум часть обратных пакетов не проходит по динамическим правилам... (ssh не единая проблема, с openvpn например то же самое)
sysctl net.inet.ip.fw.dyn_keepalive
net.inet.ip.fw.dyn_keepalive: 1
Какие предположения?
stateful ipfw (проблемы с keep-state)
Модератор: arachnid
-
arachnid
- Модератор
- Сообщения: 1100
- ОС: freeBSD
Re: stateful ipfw
чуток наблюдательности и вопрос можно было бы не задавать 
в 7 правиле разрешается соединения со 192. на любое, а в логе идет соединение с 64. на 77. 0 - то есть не подпадает под это правило
в 7 правиле разрешается соединения со 192. на любое, а в логе идет соединение с 64. на 77. 0 - то есть не подпадает под это правило
Frank писал(а): ↑04.02.2008 19:15имеем:
ipfw show
...
00003 0 0 check-state
...
00007 24950 3572946 allow tcp from 192.168.0.0/24 to any dst-port 22 out via tun0 keep-state
...
65000 10846003 5514119444 allow log logamount 300 ip from any to any
(чтобы всё работало во время ковыряний).
Проблема:
less /var/log/security
...
Feb 4 16:20:31 fire kernel: ipfw: 65000 Accept TCP 64.105.32.83:48031 77.247.29.74:22 in via tun0
т.е. получается, что несмотря на keep-state, как минмум часть обратных пакетов не проходит по динамическим правилам... (ssh не единая проблема, с openvpn например то же самое)
sysctl net.inet.ip.fw.dyn_keepalive
net.inet.ip.fw.dyn_keepalive: 1
Какие предположения?
-= freeBSD stable, fluxbox =-
"если ты будешь со мной спорить, я тебя запишу в книжечку!" (с) Ежик
"если ты будешь со мной спорить, я тебя запишу в книжечку!" (с) Ежик
-
Frank
- Сообщения: 1059
- ОС: Ubuntu, Debian
Re: stateful ipfw
Хорошо, уточняем обстановку:
ifconfig -a
int: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500
options=8<VLAN_MTU>
inet 192.168.0.1 netmask 0xffffff00 broadcast 192.168.0.255
...
tun0: flags=8051<UP,POINTOPOINT,RUNNING,MULTICAST> mtu 1492
inet 77.247.29.74 --> 192.168.13.1 netmask 0xffffffff
Opened by PID 25410
На интерфейсе tun0 силами pppd делается NAT сетки 192.168.0.0/24
ps 25410
PID TT STAT TIME COMMAND
25410 ?? Ss 65:15.68 /usr/sbin/ppp -quiet -ddial -nat wildpark
Как быть? Есть правило и вида
00007 0 0 allow tcp from me to any dst-port 22 out via tun0 setup keep-state
- как видно по счётчикам, оно не работает совсем. И вообще, проблема не с выпуском исходящих, а с впуском входящих. Не хочу отказываться от stateful модели.
ifconfig -a
int: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500
options=8<VLAN_MTU>
inet 192.168.0.1 netmask 0xffffff00 broadcast 192.168.0.255
...
tun0: flags=8051<UP,POINTOPOINT,RUNNING,MULTICAST> mtu 1492
inet 77.247.29.74 --> 192.168.13.1 netmask 0xffffffff
Opened by PID 25410
На интерфейсе tun0 силами pppd делается NAT сетки 192.168.0.0/24
ps 25410
PID TT STAT TIME COMMAND
25410 ?? Ss 65:15.68 /usr/sbin/ppp -quiet -ddial -nat wildpark
Как быть? Есть правило и вида
00007 0 0 allow tcp from me to any dst-port 22 out via tun0 setup keep-state
- как видно по счётчикам, оно не работает совсем. И вообще, проблема не с выпуском исходящих, а с впуском входящих. Не хочу отказываться от stateful модели.

-
arachnid
- Модератор
- Сообщения: 1100
- ОС: freeBSD
Re: stateful ipfw
вопрос был в чем - почему не подпадает 
"from me" - а что раньше - поднимаеться файрвол или тунель?
то, что проиходит не означает, что часть попадает под правило 7, а часть нет, а то, что в данном случае под 7ое правило не попадает соединение на тунельном интерфейсе с внешним миром
"from me" - а что раньше - поднимаеться файрвол или тунель?
то, что проиходит не означает, что часть попадает под правило 7, а часть нет, а то, что в данном случае под 7ое правило не попадает соединение на тунельном интерфейсе с внешним миром
Frank писал(а): ↑05.02.2008 11:25Хорошо, уточняем обстановку:
ifconfig -a
int: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500
options=8<VLAN_MTU>
inet 192.168.0.1 netmask 0xffffff00 broadcast 192.168.0.255
...
tun0: flags=8051<UP,POINTOPOINT,RUNNING,MULTICAST> mtu 1492
inet 77.247.29.74 --> 192.168.13.1 netmask 0xffffffff
Opened by PID 25410
На интерфейсе tun0 силами pppd делается NAT сетки 192.168.0.0/24
ps 25410
PID TT STAT TIME COMMAND
25410 ?? Ss 65:15.68 /usr/sbin/ppp -quiet -ddial -nat wildpark
Как быть? Есть правило и вида
00007 0 0 allow tcp from me to any dst-port 22 out via tun0 setup keep-state
- как видно по счётчикам, оно не работает совсем. И вообще, проблема не с выпуском исходящих, а с впуском входящих. Не хочу отказываться от stateful модели.
-= freeBSD stable, fluxbox =-
"если ты будешь со мной спорить, я тебя запишу в книжечку!" (с) Ежик
"если ты будешь со мной спорить, я тебя запишу в книжечку!" (с) Ежик
-
Frank
- Сообщения: 1059
- ОС: Ubuntu, Debian
Re: stateful ipfw
Фаерволл думаю, хоть и не факт (т.к. он знает IP ppp-туннеля). В данном случае правило было добавлено руками, далеко после установления ppp. Кроме того, адрес нашего конца ppp туннеля динамический.
По-прежнему жду толкового совета.

-
arachnid
- Модератор
- Сообщения: 1100
- ОС: freeBSD
Re: stateful ipfw
толкового ответа на какой вопрос?
что хочется получить в итоге?
-= freeBSD stable, fluxbox =-
"если ты будешь со мной спорить, я тебя запишу в книжечку!" (с) Ежик
"если ты будешь со мной спорить, я тебя запишу в книжечку!" (с) Ежик
-
Frank
- Сообщения: 1059
- ОС: Ubuntu, Debian
Re: stateful ipfw
Кажется, на меня снисходит (после применения метода тыка). Нужно разрешить входящие от локалки на куда угодно через локальный интерфейс, и разрешить исходящие - от локалки тоже, тоже укуда угодно, через ppp интерфейс. C keep-state. По крайней мере с DNS получилось как надо.

-
arkhnchul
- Сообщения: 2284
- Статус: Толчковый инженер
- ОС: Debian, Fedora
Re: stateful ipfw
Нужно разрешить входящие от локалки на куда угодно через
можт "откуда угодно в локалку"? иил чото не понимаю?
Losing is fun!