Официальный сайт студ.городка НГТУ
Software » ipfw 

#1  06.02.08 13:18

ipfw

народ, может кто подскажет.. вкурить никак не могу
есть вот конфига, если перед правилом 65535 поставить deny ip from any to any, то у пользователей локальной сети полностью отрубается возможность пользоваться всеми благами сети интернет..

вот конфиг, вообще не могу понять почему так происходит.. сам маны вкуривал долго...
по примерам смотрел, все вроде как должно быть, но нету у локалки выхода наружу и все тут
подскажите может как найти в каком правиле пакеты прерываются

Код::

00003 deny ip from not 192.168.0.0/24 to any in recv rl0
00004 count ip from any to 212.109.206.66
00005 count ip from 212.109.206.66 to any
00010 deny icmp from any to any in icmptypes 5,9,13,14,15,16,17
00030 allow icmp from any to any
00050 allow ip from me to any
00110 allow tcp from any to me dst-port 22
00120 allow tcp from me 22 to any
00130 allow udp from any to me dst-port 53
00140 allow udp from me to any dst-port 53
00170 allow tcp from any to me dst-port 20
00180 allow tcp from me to any dst-port 20
00190 allow tcp from any to me dst-port 21
00200 allow tcp from me to any dst-port 21
00210 deny tcp from not 192.168.0.0/24 to me dst-port 25
00220 deny tcp from me to not 192.168.0.0/24 dst-port 25
00230 deny tcp from not 192.168.0.0/24 to me dst-port 465
00240 deny tcp from me to not 192.168.0.0/24 dst-port 465
01000 allow ip from any to any via lo0
01100 deny ip from any to 127.0.0.0/8
01200 deny icmp from any to any frag
01400 deny tcp from any to any not established tcpflags fin
01500 deny tcp from any to any tcpflags syn,fin,ack,psh,rst,urg
01600 deny tcp from any to any tcpflags !syn,!fin,!ack,!psh,!rst,!urg
31000 deny tcp from any to 212.109.206.66 dst-port 3128 in recv rl1
31001 skipto 31002 tcp from me to any dst-port 80
31002 fwd 192.168.0.250,3128 tcp from any to any dst-port 80,8888 via rl0
31100 divert 8668 ip from any to 212.109.206.66 in recv rl1
31200 divert 8668 ip from 192.168.0.0/24 to any out xmit rl1
65535 allow ip from any to any

З.Ы. 202.109.206.66 внешний ip, 192.168.0.250 - локальный, rl0 и rl1 - локальный и внешний интерфейс соответственно

Исправлено GreenDay (06.02.08 13:20)

Offline

#2  06.02.08 13:42

Max
Профиль

Re: ipfw

ну ты даешь!
и где в правилах ДО 65535 есть хоть что-то, разрешающее юзерам из сети 192.168.0.0/24 выходить наружу? там есть только коннект к серверу на порты 22 25 и проч и на коннект снаружи (rl1) на порт прокси (что имхо глупо)

Offline

#3  06.02.08 14:09

Re: ipfw

ну я жЫ бэдадмин))

З.Ы. добавление строки

Код::

40000 allow tcp from any to any established

позволило проксе заработать.. асько и почта мертвы..

Max написал(а):

и где в правилах ДО 65535 есть хоть что-то, разрешающее юзерам из сети 192.168.0.0/24 выходить наружу?

можно поподробнее.. если честно туплю))

Max написал(а):

коннект к серверу на порты 22 25 и проч и на коннект снаружи (rl1) на порт прокси (что имхо глупо)

закрыт, там deny стоит как раз

Offline

#4  06.02.08 15:08

Re: ipfw

established в созданной руле убери. established - это разрешение уже установленных соединений
Вообще, че за корявый конфиг такой?
Где же всеми любимое deny all from any to any ?

Исправлено Leon (06.02.08 15:12)

Offline

#5  06.02.08 15:26

Re: ipfw

Leon, ну ты почитай весь текст с начала и поймешь где

Leon написал(а):

deny all from any to any

а established если убрать, то зачем вообще нужно это правила, если есть уже 65535?

Offline

#6  06.02.08 19:52

kai
Профиль

Re: ipfw

GreenDay, iptables чем тебя не устраивает? или это под виндой?

Offline

#7  06.02.08 20:17

Re: ipfw

kai, ну как то ipfw для FreeBSD родной... iptables мне по сравнению с ним вообще не нравиться

Offline

#8  07.02.08 02:30

Re: ipfw

GreenDay написал(а):

зачем вообще нужно это правила, если есть уже 65535?

ну, все зависит от того, какую логику ты закладываешь в файервол... обычно делают по-принципу "что неразрешено - запретить"... а ты предлагаешь обратное, но тогда непонятно, зачем все allow... кароче, ты с логикой работы файера определись... словами напиши... как только алгоритм напишешь, то 50% задачи своей решишь...

Offline

#9  07.02.08 09:48

Re: ipfw

Jaguar, логика ессно "запретить все, кроме".. вот только это "кроме" отрыть нормально своими кривыми ручонками не могу.. в принципе уже смысл чего и как ясен.. осталось добраться до работы и воплощать, воплощать....

Offline

#10  07.02.08 23:46

Max
Профиль

Re: ipfw

сравнивать ipfw и iptables+iproute2 то же самое как сравнивать калькулятор и компьютер: да, и там и там есть конпки, и там и там можно складывать и умножать числа, и на калькуляторе даже проще. но вот у калькулятора возможности на этом и заканчиваются (и у ipfw тоже)

Offline

#11  08.02.08 11:47

Re: ipfw

GreenDay написал(а):

Leon, ну ты почитай весь текст с начала и поймешь где

тыкни меня носом, я не вижу рулю, которая запрещает все.
я вижу только рули, которые запрещают все за исключением того-то и того-то. Коряво, imho.

Вот у меня:
deny all from any to any
allow all from localnet to gwhostin via eth0
allow tcp from gwhostout to all 80 via eth1
allow tcp from gwhostout to all 443 via eth1
allow tcp from gwhostout to all 55555 via eth1
allow tcp from gwhostout to all 25 via eth1
allow tcp from all to gwhostout 25 via eth1

пинги и прочая гадость идет лесом.
нат тоже - стоит прокси.

Offline

#12  08.02.08 14:15

Re: ipfw

GreenDay написал(а):

есть вот конфига, если перед правилом 65535 поставить deny ip from any to any, то у

Leon, вот отсюда ноги растут про deny

Leon написал(а):

стоит прокси.

эээ.. чего где и как стоит простите? :)

Offline

#13  08.02.08 16:34

Re: ipfw

GreenDay написал(а):

чего где и как стоит простите?

вместо трансляции адресов стоит прокси-сервер... а что такое прокси-сервер спроси у яндекса :)

Offline

#14  08.02.08 18:32

Re: ipfw

Jaguar, ну понял короче чего ты имел ввиду)).. только если допустим у меня кроме сквида надо ftp, smtp, аську и т.д пропускать?
ставить каждый прокси-сервис и форвардить запросы на эти сервисы?
это канеш правильный вариант, но.. не для всего подойдет.

З.Ы. поковырялся в хендбуке.. почитал у лисяры, получил такой конфиг:

Код::

00005 allow ip from any to any via rl0
00010 allow ip from any to any via lo0
00011 fwd 192.168.0.250,3128 tcp from 192.168.0.0/24 to any dst-port 80,8888 in via rl0
00014 divert 8668 ip from any to any in via rl1
00015 check-state
00020 skipto 800 tcp from any to 212.109.192.1 dst-port 53 out via rl1 setup keep-state
00021 skipto 800 tcp from any to 212.109.195.18 dst-port 53 out via rl1 setup keep-state
00030 skipto 800 tcp from any to any dst-port 80 out via rl1 setup keep-state
00040 skipto 800 tcp from any to any dst-port 443 out via rl1 setup keep-state
00050 skipto 800 tcp from any to any dst-port 8888 out via rl1 setup keep-state
00060 skipto 800 tcp from any to any dst-port 25 out via rl1 setup keep-state
00061 skipto 800 tcp from any to any dst-port 110 out via rl1 setup keep-state
00062 skipto 800 tcp from any to any dst-port 5190 out via rl1 setup keep-state
00070 skipto 800 tcp from me to any out via rl1 setup uid root keep-state
00080 skipto 800 icmp from any to any out via rl1 keep-state
00090 skipto 800 tcp from any to any dst-port 37 out via rl1 setup keep-state
00110 skipto 800 tcp from any to any dst-port 22 out via rl1 setup keep-state
00120 skipto 800 tcp from any to any dst-port 43 out via rl1 setup keep-state
00130 skipto 800 udp from any to any dst-port 123 out via rl1 keep-state
00300 deny ip from 192.168.0.0/16 to any in via rl1
00301 deny ip from 172.16.0.0/12 to any in via rl1
00302 deny ip from 10.0.0.0/8 to any in via rl1
00303 deny ip from 127.0.0.0/8 to any in via rl1
00304 deny ip from 0.0.0.0/8 to any in via rl1
00305 deny ip from 169.254.0.0/16 to any in via rl1
00306 deny ip from 192.0.2.0/24 to any in via rl1
00307 deny ip from 204.152.64.0/23 to any in via rl1
00308 deny ip from 224.0.0.0/3 to any in via rl1
00330 deny ip from any to any frag in via rl1
00332 deny tcp from any to any established in via rl1
00370 allow tcp from 192.168.0.0/24 to me dst-port 80 in via rl1 setup limit src-addr 2
00380 allow tcp from any to me dst-port 22 in via rl1 setup limit src-addr 2
00390 allow udp from any to me dst-port 53
00391 allow udp from me to any dst-port 53
00400 deny log logamount 10 ip from any to any in via rl1
00450 deny log logamount 10 ip from any to any out via rl1
00800 divert 8668 ip from any to any out via rl1
00802 allow ip from any to any
00999 deny log logamount 10 ip from any to any

и снова загвоздка.. на 11 правило пакеты не попадают.. может я туплю канеш, но по логике хоть как пакет входящий на rl0 и запрашивающий адрес не из локальной сети должен попасть именно на это правило.. или я его не в том месте поставил.. короче разбираемсу дальше :)

З.З.Ы. сам тут щас увидел, 390 и 391 надо редактить, чтобы только из сети доступ был :)

Исправлено GreenDay (08.02.08 18:35)

Offline

#15  08.02.08 20:15

Re: ipfw

Max, я правильно понял тебя, что iptables обладает более широкими возможностями?

Offline

#16  09.02.08 13:22

Re: ipfw

Dmitri, именно так...

GreenDay написал(а):

только если допустим у меня кроме сквида надо ftp, smtp, аську и т.д пропускать?

а ты кроме сквида ничего не знаешь? а сокс5, например? да и много чего есть... ту же аську можно через сквид завернуть... с почтой сложнее...

Offline

#17  09.02.08 14:12

Re: ipfw

вот имеено почта то меня и останавливает

Offline

#18  09.02.08 19:09

Re: ipfw

GreenDay написал(а):

вот имеено почта

а какова задача? может fetchmail+MTA тебе хватит?

Offline

#19  09.02.08 19:39

Re: ipfw

Jaguar, да не.. щас работаю над своим почтовым сервом..

Offline

#20  11.02.08 14:38

Re: ipfw

усе, все работает) всем спасибо за поддержку :)

Offline

#21  12.02.08 01:27

Re: ipfw

Dmitri написал(а):

Max, я правильно понял тебя, что iptables обладает более широкими возможностями?

Макс даже сказал что с помощью иптаблеса и ипроут2 можно пакеты заставить бегать восьмеркой, ипфв даже такого и не снилось.

Offline

#22  12.02.08 02:11

Re: ipfw

otaku написал(а):

бегать восьмеркой

это зациклить чтоли? О_о

Offline

#23  12.02.08 12:58

Re: ipfw

GreenDay написал(а):

это зациклить чтоли?

наверное имелось в виду асинхронное хождение по двум каналам...

Offline

#24  12.02.08 15:37

Re: ipfw

зациклить это боян

Offline

#25  30.09.08 20:14

Re: ipfw

есть след. правила
00100       0          0 divert 8668 ip from 212.17.5.0/28 to any out xmit xl1
00200 1715611  507680153 divert 8668 ip from 192.168.0.0/24 to any out xmit xl1
00300 2743924 1450781655 divert 8668 ip from any to {ап сервака}
т.е. имеется 3 сетевки, одна в инет, одна в локалку, и одна клиентам, все работает,но почему на правиле 100 нули?

Offline

#26  01.02.09 12:15

Wic
Профиль

Re: ipfw

zver, если нули значит считается в другом месте.

есть такая конфига ipfw, делал ее из базовой конифиги

#!/bin/sh -
#
# $FreeBSD: src/etc/rc.firewall,v 1.52.4.1 2008/01/29 00:22:32 dougb Exp $
#

#
# Setup system for ipfw(4) firewall service.
#

# Suck in the configuration variables.
if [ -z "${source_rc_confs_defined}" ]; then
    if [ -r /etc/defaults/rc.conf ]; then
        . /etc/defaults/rc.conf
        source_rc_confs
    elif [ -r /etc/rc.conf ]; then
        . /etc/rc.conf
    fi
fi

setup_loopback () {
    ${fwcmd} add 100 pass all from any to any via lo0
    ${fwcmd} add 110 deny all from any to 127.0.0.0/8
    ${fwcmd} add 120 deny ip from 127.0.0.0/8 to any
}

############
# Del all rulles

fwcmd="/sbin/ipfw"
${fwcmd} -f flush

setup_loopback


# Local network and netmask and ip
Lnet="192.168.255.0/24"
Lip="192.168.255.1"
Lif="rl1"
# Internet network and netmask and ip
Inet="217.71.140.0/22"
Iip="217.71.142.33"
Iif="rl0"

#ICMP filter
   ${fwcmd} add pass icmp from any to ${Lnet} in via ${Iif}  icmptype 0,3,4,11,12
   ${fwcmd} add pass icmp from ${Lnet} to any out via ${Iif} icmptype 0,3,4,8,11,12

#Divert adress
${fwcmd} add divert natd ip from ${Lnet} to any out via ${Iif}
${fwcmd} add divert natd ip from any to ${Iip} in via ${Iif}

    # Allow any traffic in my net.
    ${fwcmd} add pass all from ${Lnet} to ${Lnet}

    # Allow TCP through if setup succeeded
    ${fwcmd} add pass tcp from any to any established

    # Allow IP fragments to pass through
    ${fwcmd} add pass all from any to any frag

    # Allow setup for any  TCP connections
    ${fwcmd} add pass tcp from any to any setup

    # Allow DNS queries out in the world
    ${fwcmd} add pass udp from me to any 53 keep-state

    # Allow NTP queries out in the world
    ${fwcmd} add pass udp from me to any 123 keep-state

###???
#    # Stop spoofing
#    ${fwcmd} add deny all from ${inet} to any in via ${oif}
#    ${fwcmd} add deny all from ${onet} to any in via ${iif}
#
    # Allow access to our DNS
    ${fwcmd} add pass tcp from any to ${Iip} 53 setup
    ${fwcmd} add pass udp from any to ${Iip} 53
    ${fwcmd} add pass udp from ${Iip} 53 to any

#    # Allow access to our WWW
#    ${fwcmd} add pass tcp from any to ${oip} 80 setup

    # Reject&Log all setup of incoming connections from the outside
    ${fwcmd} add deny log tcp from any to any in via ${oif} setup

    # Allow DNS queries out in the world
    ${fwcmd} add pass udp from ${Iip} to any 53 keep-state

    # Allow NTP queries out in the world
    ${fwcmd} add pass udp from ${Iip} to any 123 keep-state


    # Allow any connection out, adding state for each.
    ${fwcmd} add pass tcp  from me to any setup keep-state
    ${fwcmd} add pass udp  from me to any       keep-state
    ${fwcmd} add pass icmp from me to any       keep-state

    # Allow DHCP.
    ${fwcmd} add pass udp  from 0.0.0.0 68 to 255.255.255.255 67 out
    ${fwcmd} add pass udp  from any 67     to me 68 in
    ${fwcmd} add pass udp  from any 67     to 255.255.255.255 68 in

#    # Broadcasts and muticasts
#    ${fwcmd} add deny ip  from any to 255.255.255.255
#    ${fwcmd} add deny ip  from any to 224.0.0.0/24 in    # XXX

#allow ssh
    ${fwcmd} add pass tcp from any to me 22
#p2p settings
    ${fwcmd} add allow tcp from any to me dst-port 10001
    ${fwcmd} add allow udp from any to me dst-port 10002
#ftp
    ${fwcmd} add allow tcp from any to me 21

на данный момент существует следующие проблемы:
из внутренней сети не работает пинг
udp запросы не хотят уходить(поиск в п2п ничего не ищет)
и порт на фтп не хочет пробрасываться во внутрь

#NatD config file
log yes
log_denied no
use_sockets yes
same_ports yes
unregistered_only yes
dynamic yes
redirect_port tcp 192.168.255.2:10001 10001
redirect_port udp 192.168.255.2:10002 10002
redirect_port tcp 192.168.255.2:21 21

Исправлено Wic (01.02.09 12:15)

Offline

#27  01.02.09 23:05

kai
Профиль

Re: ipfw

Wic написал(а):

#NatD config file
log yes
log_denied no
use_sockets yes
same_ports yes
unregistered_only yes
dynamic yes
redirect_port tcp 192.168.255.2:10001 10001
redirect_port udp 192.168.255.2:10002 10002
redirect_port tcp 192.168.255.2:21 21

делаешь ведь ты запрос на сервер, а к тебе приходит ответ.

может еще нужно добавит это?

-redirect_address  localIP publicIP

Перенаправить трафик с публичного (реального) IP-адреса на хост с частным IP-адресом в локальной сети. Эта функция известна как статический NAT. Как правило, статический NAT используется, когда вышестоящий Internet-провайдер распределил малый блок IP-адресов, но в принципе это может быть использовано и в случае одного адреса: частный адрес 192.168.0.4, но исходящий трафик с первых двух адресов будет определен как public_addr. Но в общем случае при статическом NAT каждому частному адресу должен соответствовать адрес реальный.

Для фтп сервера нужно уже наверно юзать это:

-redirect_proto  proto localIP [publicIP [remoteIP]]

Перенаправляет входящие IP-пакеты протокола proto (см. protocols(5)), предназначенные для хоста с адресом publicIP, на хост с адресом iocalIP и наоборот. Если remoteIP не указан, то используется замена адресов по умолчанию. Если remoteIP указан, то только пакеты приходящие с этого адреса и уходащие на него будут соответствовать этому правилу.

или это:

-redirect_port  proto targetIP:targetPORT [, tergetIP:targetPORT[,. . .]] [aliasIP:]aliasPORT [remoteIP [:remotePORT] ]

Эти формы аргументов -redirect_port и -redirect_address используются для создания своеобразного кластера, который позволяет распределить нагрузку между пулом серверов. Эта функция известна как LSNAT (RFC 2391). Например, аргумент
tcp www1:http, www2:http, www3:http www:http

приводит к тому, что приходящие на хост www http-запросы будут прозрачно перенаправляться  на один их хостов www1, www2 или www3, где хост выбирается циклически, чтобы загрузить оптимально сеть.

tcpdump от обоих сетевых карт в студию

пример моего поиска

17:16:57.215185 IP 217.71.142.79.33142 > 192.168.162.59.5455: UDP, length 144
17:16:57.215441 IP 192.168.163.150.56378 > 217.71.142.79.1448: UDP, length 139
17:16:57.217024 IP 172.28.1.15.1976 > 217.71.142.79.1448: UDP, length 98
17:16:57.217053 IP 172.28.1.15.1976 > 217.71.142.79.1448: UDP, length 173
17:16:57.217068 IP 172.28.1.15.1976 > 217.71.142.79.1448: UDP, length 162
17:16:57.217087 IP 172.28.1.15.1976 > 217.71.142.79.1448: UDP, length 175
17:16:57.217389 IP 172.28.1.15.1976 > 217.71.142.79.1448: UDP, length 132
17:16:57.217426 IP 172.28.1.15.1976 > 217.71.142.79.1448: UDP, length 169
17:16:57.217473 IP 172.28.1.15.1976 > 217.71.142.79.1448: UDP, length 169

сначала идет запрос, потом приходит ответ на порт 1448

Исправлено kai (01.02.09 23:26)

Offline

#28  02.02.09 21:44

Wic
Профиль

Re: ipfw

kai, мне кажется тут проблема в диверте, то есть не идет диверт icmp udp пакетов
могу кинуть tcdump'ы сетевок только там просто капец сколько всего будет

[5] Mon 02Feb09 23:06:20 - (000068) IP-Name: PAWTET.HOSTEL.NSTU.RU
[3] Mon 02Feb09 23:06:20 - (000068) Sending file e:\distr\antiviruses\base\index\u0607g.xml
[3] Mon 02Feb09 23:06:20 - (000068) Sent file e:\distr\antiviruses\base\index\u0607g.xml successfully (183 kB/sec - 11458 Bytes)
[3] Mon 02Feb09 23:06:47 - (000068) Sending file e:\distr\antiviruses\base\bases\as\pas\pas-0607g.xml
[3] Mon 02Feb09 23:06:47 - (000068) Sent file e:\distr\antiviruses\base\bases\as\pas\pas-0607g.xml successfully (322 kB/sec - 1981 Bytes)
[3] Mon 02Feb09 23:06:49 - (000068) Sending file e:\distr\antiviruses\base\bases\av\kdb\kdb-0607g.xml
[3] Mon 02Feb09 23:06:49 - (000068) Sent file e:\distr\antiviruses\base\bases\av\kdb\kdb-0607g.xml successfully (556 kB/sec - 191988 Bytes)
[3] Mon 02Feb09 23:07:14 - (000068) Sending file e:\distr\antiviruses\base\bases\as\pas\cfbase-s.gsg
[3] Mon 02Feb09 23:07:14 - (000068) Sent file e:\distr\antiviruses\base\bases\as\pas\cfbase-s.gsg successfully (1502 kB/sec - 44596 Bytes)
[3] Mon 02Feb09 23:07:14 - (000068) Sending file e:\distr\antiviruses\base\bases\as\pas\as.trm
[3] Mon 02Feb09 23:07:14 - (000068) Sent file e:\distr\antiviruses\base\bases\as\pas\as.trm successfully (2059 kB/sec - 352030 Bytes)
[3] Mon 02Feb09 23:07:14 - (000068) Sending file e:\distr\antiviruses\base\bases\av\kdb\i386\daily-ec.kdc
[3] Mon 02Feb09 23:07:14 - (000068) Sent file e:\distr\antiviruses\base\bases\av\kdb\i386\daily-ec.kdc successfully (398 kB/sec - 2040 Bytes)
[3] Mon 02Feb09 23:07:15 - (000068) Sending file e:\distr\antiviruses\base\bases\av\kdb\i386\daily.kdc
[3] Mon 02Feb09 23:07:15 - (000068) Sent file e:\distr\antiviruses\base\bases\av\kdb\i386\daily.kdc successfully (915 kB/sec - 20603 Bytes)
[3] Mon 02Feb09 23:07:15 - (000068) Sending file e:\distr\antiviruses\base\bases\av\kdb\i386\dailyc.kdc
[3] Mon 02Feb09 23:07:15 - (000068) Sent file e:\distr\antiviruses\base\bases\av\kdb\i386\dailyc.kdc successfully (1153 kB/sec - 25973 Bytes)
[3] Mon 02Feb09 23:07:15 - (000068) Sending file e:\distr\antiviruses\base\bases\av\kdb\i386\fa.kdc
[3] Mon 02Feb09 23:07:15 - (000068) Sent file e:\distr\antiviruses\base\bases\av\kdb\i386\fa.kdc successfully (555 kB/sec - 43778 Bytes)
[3] Mon 02Feb09 23:07:15 - (000068) Sending file e:\distr\antiviruses\base\bases\av\kdb\i386\fa001.kdc
[3] Mon 02Feb09 23:07:16 - (000068) Sent file e:\distr\antiviruses\base\bases\av\kdb\i386\fa001.kdc successfully (1322 kB/sec - 120469 Bytes)

открыл фтп и оказалось он работает...хотя я не могу на него зайти по внешнему айпишнику...проверьте ftp://217.71.142.33 работает? ничего не понимаю! (с)

Исправлено Wic (02.02.09 23:08)

Offline

#29  03.02.09 20:49

kai
Профиль

Re: ipfw

фтп работает. Ты как tcpdump делал?

Offline

#30  03.02.09 20:52

Wic
Профиль

Re: ipfw

kai, по юдп протоколу делал, при включенном п2п там столько шлака вылазит...

Offline

#31  04.02.09 16:32

VS
Профиль

Re: ipfw

Wic,   вот это правило:
  ${fwcmd} add pass icmp from ${Lnet} to any out via ${Iif} icmptype 0,3,4,8,11,12
выкидывает пакет из файрвола и в нат он уже не попадает, потому, имхо, пинг изнутри не идёт

А фтпшник не работает, имхо, потому что вот такая штука redirect_port tcp 192.168.255.2:21 21 не работает.
У меня, корявки, вот типа так работает:
ipfw add 18030 divert 8665 tcp from any to me dst-port 21 via {внешний интерфейс}
ipfw add 18040 divert 8665 tcp from 192.168.255.2 21 to any via {внешний интерфейс}

tcpdump'oм же, чтобы шлак не лез можно же условия писать типа

tcpdump -i em0 host 192.168.255.2 and port 80  -ловит только пакеты на 80 порту на внешнем интерфейсе (в моём случае) для машины 2
и этих and писать можно сколько влезет

tcpdump -i em0 host 192.168.255.2 and not port 80 and not port 22 and not port 4444 and host 192.168.255.3 and not src-host 217.71.141.1  - как то так - синтаксис не помню... man tcpdump спасает обычно - там все опции перечислены.

Offline

#32  04.02.09 18:47

Wic
Профиль

Re: ipfw

VS, как оказалось фтп работает только я на него не могу зайти по своему внешнему айпишнику пишет "server# ftp 217.71.142.33 ftp: connect: Connection refused" но другие могут на него заходить. Думаю это изза того что нат настроен на внешнем интерфесе а я пытаюсь зайти через внутренний.
Если убираю правила для разрешения icmp то ничего не меняется, если после этого добавляю allow icmp from any to any, то результат тот же.При этом я только могу пинговать свой внешний айпишник. Мне кажется что нат как то плохо работает с обратными icmp и udp пакетами(

Offline

#33  04.02.09 19:40

VS
Профиль

Re: ipfw

Что-то я на ftp://217.71.142.33 не могу зайти ни с хостела ни с СТК ни с НТК
та же история с пингом.

Так а allow icmp from any to any ты после нат правил добавлял или до?
Я вообще не понимаю, как у тебя так идёт сначала нат, потом разрешающие правила, а потом ничего? И по какой логике все разрешения идут после ната, а icmp до ната?
И зачем рарешать выбранные вещи если у тебя нет правила запретить всё?
Я сам не то что бы хорошо разбираюсь, так что, возможно, просто не понимаю...

Но у меня вот переделанный из хендбука файрвол, в сильно упрощённом виде выглядит так:
1. Правило скипающее проход по правилам до ната для разрешённого трафика, типа skipto 1000 ip from localnet to any 80...
2. Запретить все
3. Нат

На деле там для двух внешних интерфесов правила, один из которых не натится и куча другого но принцип такой.

Offline

#34  04.02.09 21:53

Wic
Профиль

Re: ipfw

на фтп должно заходиться даже с инета, надеюсь мне никто подарок не сделает и не зальет на него чего нить))) kai проверял работает то правило, и на порт 10002 udp,я предпологаю, тоже работает у меня могут искать через п2п, а я не могу.
Я фаервол собирал из правил что шли в /etc/rc.firewall. Понимаю я их не очень хорошо и сейчас пытаюсь разобраться. У меня стоит запретить всё последним правилом, тут этого не видно так как оно на уровне ядра прописано. Вот про порядок, что и перед чем должно идти, я често говоря, сам не знаю как надо. В инете где как написано.
Можешь выложить свою натсройку ipfw?

Offline

#35  05.02.09 00:52

VS
Профиль

Re: ipfw

мой смотри в личку. rl0 у меня внутренний интерфейс, для него нат не действует.
В общем смысле в ipfw allow и pass выкидывают пакеты из файрвола и дальше по списку правил они не пробегают. 
файрвол корявый но пинги нормально ходят и выбранные порты обозначенные в good /2 /3.

а на фтпшник я говорю не могу попасть ни из хостела никак... это показатель.

Offline

#36  06.02.09 15:22

Wic
Профиль

Re: ipfw

VS, сэнкс за конфигу, вечером поразбираюсь и отпишусь о результатах. с фтп чудеса творятся, кто то может зайти, кто не может...

Offline

#37  08.02.09 16:29

Wic
Профиль

Re: ipfw

добрался до этого дела только сегодня, перекапал весь конфиг в резултате в локалке заработал пинг)) но поиск в п2п так и не работает и фтп так же продолжает работать через одно место. Кому не сложно попробуйте его еще раз проверить. тсп дамп показывает что пакеты приходят на роутер на юдп порт п2п, но почему то они не проходят через натд
VS, из твоей конфиги подсмотрел пару правил) но всё равно не до конца понимаю где применять keep-state setup

Исправлено Wic (08.02.09 16:35)

Offline

#38  09.02.09 15:57

VS
Профиль

Re: ipfw

Я вот тоже не понимаю... потому почти забил.
Keep-state сам по себе, я так понял тупо создаёт виртуальное правило позволяющее ходить траффику и в обратном направлении. А setup - означает что-то типа "при появлении пакета подходящего под это правило, выходящего из своей сети наружу, открыть и обратную связь". То есть allow icpm from me to any via rl1 setup keep-state пустит пакет с сервера наружу и создаст правило, чтобы мог пройти назад ответ, но если просто кто-то снаружи пинганёт, то его пошёт нафиг.
Плюс есть параметр отвечающий за время действия виртуальных правил и если нет пакетов попадающих под правило несколько секунд, то виртуальное правило удаляется.
То есть если тебе нужно чтобы какой-то траффик стабильно имел доступ внутрь, без частых запросов этого трафика изнутри, то сетап не применим.
А п2п у меня у самого работает только при открытии большинства портов на выделенный комп - тебе же нужно не только входящий трафик проводить через конкретный порт, но и исходящий. А исходящий в п2п можно пустить либо напрямую либо через сокс...
Имей ввиду, что всё это не так как на самом деле, а так как я понимаю - надеюсь это во многом совпадает ;)

Offline

#39  09.02.09 18:27

Wic
Профиль

Re: ipfw

VS, вот перевод из мана

www.lissyara.su/@id=1356 написал(а):

setup
   Обязательное ключевое слово, которое распознает запрос о начале сессии для TCP пакетов.
keep-state
   Обязательное ключевое слово. После совпадения файрволл создаст динамическое правило, чье поведение по умолчанию состоит в том, что бы было совпадение двунаправленного траффика между IP адресом или портом источника и приемника по тому же самому протоколу.

по тому же ману сетап ставится почти для каждого тсп правила. А вот кип стате как я понимаю не нужно ставить если ответ может прийти через некоторое время, которое больше чем заданое значение в системе. Хотя я в этом ой как не уверен)
Исходящий трафик в п2п я пусткаю через диверт только мне кажется что диверт удп порта как то криво работает...
И еще такой вопрос у меня с роутером на фряхе сильно стала сеть лагать, но в нем стоит умерающий винт, который в винде бывало подвисал на несолько секунд, может ли из за этого лагать, сообщения в п2п скопом приходить, аська отваливаться постоянно, страницы открываться со втрого третьего раза?

Offline

#40  09.02.09 19:20

VS
Профиль

Re: ipfw

Перевод я и сам знаю...
По поводу отваливающихся виртуальных правил- получается да, я в логе ipfw смотрел, такое, в итоге, часто получается.
На счёт винта я сомневаюсь что-то... не думаю чтобы фришка юзала обращения к диску в принципе для роутинга трафика - это был бы убер тормоз... если только сама система вдруг тормозит от попыток обратиться к винту по другим поводам... а uptime какой=нибудь что пишет?

Offline

#41  09.02.09 21:47

kai
Профиль

Re: ipfw

Wic, создай правило, которое будет писать в лог все соединения по удп  протоколу и те, которые попадают в нат тоже. Все что не попадает в цепочку правил, сначала так же писать в лог с префиксом _drop (или что сам придумаешь) потом запрещать. Потом делаешь запрос на поиск и смотришь логи, командой tail -f /name_to_log_file (в linux логи обычно пишутся в /var/log/syslog или /var/log/messages, хз как в FreeBSD).

Offline

#42  10.02.09 23:26

Wic
Профиль

Re: ipfw

VS, похоже проблема не во фряхе, просто сеть глючит...Сейчас без роутера тоже самое...Думаю в копейки опять кто то сеть тормозит, а админ сети съезжает( Что есть uptime?
kai, ок попробую в лог все юдп запросы скидывать, почитаю что там будет

Offline

#43  11.02.09 00:15

VS
Профиль

Re: ipfw

ну команда uptime показывает время сколько система работает с прошлой загрузки и за одно среднюю загрузку...
а, кстати, да, у меня тоже такое бывало - как в студгородке что-то замутят, так аж роутер вешается и тормозит - провод хостеловский выдираешь - всё нормально.
Бить надо особо одарённых студентов...

Исправлено VS (11.02.09 00:21)

Offline

#44  11.02.09 10:40

Wic
Профиль

Re: ipfw

VS, и тех кому лень ставить антивирусы...сеть у всех лагует, что просто ужас...Сейчас пока новый админ появится будем с лагами сидеть(((

Offline

#45  18.02.09 00:29

Wic
Профиль

Re: ipfw

Нужна помощь:
сеть страшно лагует когда сижу через роутер на фряхе tcpdump выдает кучу всего с не понятных айпишников, лог тут ftp://192.168.6.100/upload/for_users/Wic/rootlog.txt при этом у соседа сеть работает нормально
что может это буть и как это лечится?
сори коряво кинул

Исправлено Wic (18.02.09 16:11)

Offline

Software » ipfw 

ФутЕр:)

© Hostel Web Group, 2002-2025.   Сообщить об ошибке

Сгенерировано за 0.300 сек.
Выполнено 14 запросов.