aip="192.168.2.2"
bip="192.168.2.59"
dip="192.168.2.62"add allow all from any to ${aip} via ${natd_interface}
add allow all from any to ${bip} via ${natd_interface}
add allow all from any to ${dip} via ${natd_interface}эти строки разрешают трём компам лезть в инет в обход прокси, напрямую. ну, клиент-банк и всё такое...
если комп долго не включают - IP меняется, блин.
как указать в этих правилах MAC-адреса чтобы, как говориться, железно было?
>add allow all from any to ${aip} via ${natd_interface}
>add allow all from any to ${bip} via ${natd_interface}
>add allow all from any to ${dip} via ${natd_interface}
>
>эти строки разрешают трём компам лезть в инет в обход прокси, напрямую.
>ну, клиент-банк и всё такое...
>если комп долго не включают - IP меняется, блин.
>как указать в этих правилах MAC-адреса чтобы, как говориться, железно было?add allow all from any to 192.168.2.0/24 via ${natd_interface} mac aa:bb:cc:dd:ee:ff any
, где aa:bb:cc:dd:ee:ff - destination MAC
однако ;-)
Note that some of the above information, e.g. source MAC or IP addresses
and TCP/UDP ports, could easily be spoofed, so filtering on those fields
alone might not guarantee the desired results.Все есть в man ipfw
>[оверквотинг удален]
>
>однако ;-)
>Note that some of the above information, e.g. source MAC or IP
>addresses
> and TCP/UDP ports, could easily be spoofed,
>so filtering on those fields
> alone might not guarantee the desired results.
>
>
>Все есть в man ipfwОГРОМНОЕ СПАСИБО!
что всё можно подменить - это не секрет, но мне и так сойдёт
>[оверквотинг удален]
>> and TCP/UDP ports, could easily be spoofed,
>>so filtering on those fields
>> alone might not guarantee the desired results.
>>
>>
>>Все есть в man ipfw
>
>ОГРОМНОЕ СПАСИБО!
>что всё можно подменить - это не секрет, но мне и так
>сойдётРАНО обрадовался - неработает. Блокируется весть прямой траффик.
как было:
########################################
aip="192.168.2.2"
bip="192.168.2.59"
dip="192.168.2.62"${fwcmd} add divert natd all from any to any via ${natd_interface}
${fwcmd} add allow all from any to ${aip} via ${natd_interface}
${fwcmd} add allow all from any to ${bip} via ${natd_interface}
${fwcmd} add allow all from any to ${dip} via ${natd_interface}${fwcmd} add deny all from any to 192.168.2.0/24 via ${natd_interface}
########################################
как стало (НЕ РАБОТАЕТ):
########################################
amac="00:13:72:75:7A:26"
bmac="00:0d:87:fe:e3:40"
dmac="00:50:8d:a4:7f:78"${fwcmd} add divert natd all from any to any via ${natd_interface}
${fwcmd} add allow all from any to 192.168.2.0/24 via ${natd_interface} mac ${amac} any
${fwcmd} add allow all from any to 192.168.2.0/24 via ${natd_interface} mac ${bmac} any
${fwcmd} add allow all from any to 192.168.2.0/24 via ${natd_interface} mac ${dmac} any${fwcmd} add deny all from any to 192.168.2.0/24 via ${natd_interface}
########################################
>[оверквотинг удален]
>
>${fwcmd} add allow all from any to 192.168.2.0/24 via ${natd_interface} mac ${amac}
>any
>${fwcmd} add allow all from any to 192.168.2.0/24 via ${natd_interface} mac ${bmac}
>any
>${fwcmd} add allow all from any to 192.168.2.0/24 via ${natd_interface} mac ${dmac}
>any
>
>${fwcmd} add deny all from any to 192.168.2.0/24 via ${natd_interface}
>########################################Ну, и смотрите, что не ходит.
${fwcmd} add deny log all from any to 192.168.2.0/24 via ${natd_interface}
>[оверквотинг удален]
>>${fwcmd} add allow all from any to 192.168.2.0/24 via ${natd_interface} mac ${bmac}
>>any
>>${fwcmd} add allow all from any to 192.168.2.0/24 via ${natd_interface} mac ${dmac}
>>any
>>
>>${fwcmd} add deny all from any to 192.168.2.0/24 via ${natd_interface}
>>########################################
>
>Ну, и смотрите, что не ходит.
>${fwcmd} add deny log all from any to 192.168.2.0/24 via ${natd_interface}Ну вот именно эта строка и не пускает:
Nov 2 17:01:11 kernel: ipfw: 1800 Deny ICMP:0.0 194.87.0.50 192.168.2.2 in via bge0
>[оверквотинг удален]
>>>
>>>${fwcmd} add deny all from any to 192.168.2.0/24 via ${natd_interface}
>>>########################################
>>
>>Ну, и смотрите, что не ходит.
>>${fwcmd} add deny log all from any to 192.168.2.0/24 via ${natd_interface}
>
>Ну вот именно эта строка и не пускает:
>Nov 2 17:01:11 kernel: ipfw: 1800 Deny ICMP:0.0 194.87.0.50 192.168.2.2 in
>via bge0У Вас не верно написаны сами правила , так работать не будет.
Пакет пришел на интерфейс bge0, который будет иметь mac отличный от mac
адресов этих хостов
aip="192.168.2.2"
bip="192.168.2.59"
dip="192.168.2.62"
Правила надо переписать , типа:
....
${fwcmd} add allow all from 192.168.2.0/24 to any in via ${internal} mac any ${amac}
${fwcmd} add allow all from 192.168.2.0/24 to any in via ${internal} mac any ${bmac}
${fwcmd} add allow all from 192.168.2.0/24 to any in via ${internal} mac any ${cmac}
${fwcmd} add allow all from 192.168.2.0/24 to $proxy in via ${internal}
${fwcmd} add deny all from 192.168.2.0/24 to any in via ${internal}
....
и дополнить.
>[оверквотинг удален]
>any ${amac}
>${fwcmd} add allow all from 192.168.2.0/24 to any in via ${internal} mac
>any ${bmac}
>${fwcmd} add allow all from 192.168.2.0/24 to any in via ${internal} mac
>any ${cmac}
>${fwcmd} add allow all from 192.168.2.0/24 to $proxy in via ${internal}
>${fwcmd} add deny all from 192.168.2.0/24 to any in via ${internal}
>....
> и дополнить.
>${internal} - это интерфейс, ip_интерфейса или подсеть?
>[оверквотинг удален]
>>any ${bmac}
>>${fwcmd} add allow all from 192.168.2.0/24 to any in via ${internal} mac
>>any ${cmac}
>>${fwcmd} add allow all from 192.168.2.0/24 to $proxy in via ${internal}
>>${fwcmd} add deny all from 192.168.2.0/24 to any in via ${internal}
>>....
>> и дополнить.
>>
>
>${internal} - это интерфейс, ip_интерфейса или подсеть?интерфейс.
но вообще всё упало, вообще ВСЁ. пришлось на консоль бежать, реанимировать.
>[оверквотинг удален]
>>>${fwcmd} add allow all from 192.168.2.0/24 to $proxy in via ${internal}
>>>${fwcmd} add deny all from 192.168.2.0/24 to any in via ${internal}
>>>....
>>> и дополнить.
>>>
>>
>>${internal} - это интерфейс, ip_интерфейса или подсеть?
>
>интерфейс.
>но вообще всё упало, вообще ВСЁ. пришлось на консоль бежать, реанимировать.;-))) , аккуратней !
internal="fxp1"
${internal} - подстановка в sh . Конечно, внутренний интерфейс по контексту.
>[оверквотинг удален]
>>>${internal} - это интерфейс, ip_интерфейса или подсеть?
>>
>>интерфейс.
>>но вообще всё упало, вообще ВСЁ. пришлось на консоль бежать, реанимировать.
>
>;-))) , аккуратней !
>
>internal="fxp1"
>${internal} - подстановка в sh . Конечно, внутренний интерфейс по контексту.
>Ну вообщем, не получилось и не получается...
>>[оверквотинг удален]
>Ну вообщем, не получилось и не получается...может стоит посмотреть сюда:
#man ipfw{ MAC | mac } dst-mac src-mac
Match packets with a given dst-mac and src-mac addresses, speci-
fied as the any keyword (matching any MAC address), or six groups
of hex digits separated by colons, and optionally followed by a
mask indicating the significant bits. The mask may be specified
using either of the following methods:1. A slash (/) followed by the number of significant bits.
For example, an address with 33 significant bits could be
specified as:MAC 10:20:30:40:50:60/33 any
2. An ampersand (&) followed by a bitmask specified as six
groups of hex digits separated by colons. For example,
an address in which the last 16 bits are significant
could be specified as:MAC 10:20:30:40:50:60&00:00:00:00:ff:ff any
Note that the ampersand character has a special meaning
in many shells and should generally be escaped.Note that the order of MAC addresses (destination first, source
second) is the same as on the wire, but the opposite of the one
used for IP addresses.
byte 45952
>>>[оверквотинг удален]
>>Ну вообщем, не получилось и не получается...
>
>может стоит посмотреть сюда:
>#man ipfw
>
> { MAC | mac } dst-mac src-macа так же
и покажи пжлста
sysctl -a | grep net.link.ether.ipfw
>[оверквотинг удален]
>>>Ну вообщем, не получилось и не получается...
>>
>>может стоит посмотреть сюда:
>>#man ipfw
>>
>> { MAC | mac } dst-mac src-mac
>
>а так же
>и покажи пжлста
>sysctl -a | grep net.link.ether.ipfw# sysctl -a | grep net.link.ether.ipfw
net.link.ether.ipfw: 0
#
>[оверквотинг удален]
>>>
>>> { MAC | mac } dst-mac src-mac
>>
>>а так же
>>и покажи пжлста
>>sysctl -a | grep net.link.ether.ipfw
>
># sysctl -a | grep net.link.ether.ipfw
>net.link.ether.ipfw: 0
>#ну и чиво вы хотите?
если man sysctl не помогает, тогда может гугл?
net.link.ether.ipfw - если 1, то ipfw2 позволяет фильтровать по MAC адресам
>>internal="fxp1"
>>${internal} - подстановка в sh . Конечно, внутренний интерфейс по контексту.
>>
>
>Ну вообщем, не получилось и не получается...ipfw show в студию.
Посмотрите также переменные ядра от раннего поста.
вот, но я вычеркнул конкретные правила, например доступ к 80 порту, доступ к 21 порту...# ipfw show
00100 163424 79295602 allow ip from any to any via lo0
00200 0 0 deny log logamount 100 ip from any to 127.0.0.0/8
00300 0 0 deny log logamount 100 ip from 127.0.0.0/8 to any
00400 0 0 deny ip from 192.168.2.0/24 to any in via bge0
00500 0 0 deny ip from 194.***.***.0/24 to any in via rl0
00600 58 4524 deny ip from any to 10.0.0.0/8 via bge0
00700 0 0 deny ip from any to 172.16.0.0/12 via bge0
00800 8680 901683 deny ip from any to 192.168.0.0/16 via bge0
00900 0 0 deny ip from any to 0.0.0.0/8 via bge0
01000 0 0 deny ip from any to 169.254.0.0/16 via bge0
01100 0 0 deny ip from any to 192.0.2.0/24 via bge0
01200 0 0 deny ip from any to 224.0.0.0/4 via bge0
01300 251 102425 deny ip from any to 240.0.0.0/4 via bge0
01400 230498 98865982 divert 8668 ip from any to any via bge0
01500 3 957 allow ip from any to 192.168.2.1 via bge0
01600 0 0 allow ip from any to 192.168.2.2 via bge0
01700 993 206938 allow ip from any to 192.168.2.59 via bge0
01800 0 0 allow ip from any to 192.168.2.62 via bge0
01900 11 476 deny log logamount 100 ip from any to 192.168.2.0/24 via bge0
02000 0 0 deny log logamount 100 ip from 10.0.0.0/8 to any via bge0
02100 0 0 deny log logamount 100 ip from 172.16.0.0/12 to any via bge0
02200 0 0 deny log logamount 100 ip from 192.168.0.0/16 to any via bge0
02300 0 0 deny log logamount 100 ip from 0.0.0.0/8 to any via bge0
02400 0 0 deny log logamount 100 ip from 169.254.0.0/16 to any via bge0
02500 0 0 deny log logamount 100 ip from 192.0.2.0/24 to any via bge0
02600 0 0 deny log logamount 100 ip from 224.0.0.0/4 to any via bge0
02700 0 0 deny log logamount 100 ip from 240.0.0.0/4 to any via bge0
02800 355650 194195648 allow tcp from any to any established
02900 0 0 allow ip from any to any frag
03700 11 592 deny log logamount 100 tcp from any to any in via bge0 setup
03800 14243 821440 allow tcp from any to any setup
65535 15130 1939862 allow ip from any to any
#
>вот, но я вычеркнул конкретные правила, например доступ к 80 порту, доступ
>к 21 порту...Посмотрите на "классику жанра" в /etc/rc.firewall , раздел simple .
internal="rl0" # ? ваш внутренний интерфейс
oip="192.168.2.1" # ? ваш ip на внутреннем интерсейсе
proxy="aaa.bbb.ccc.ddd" # ip вашего прохуamac="00:13:72:75:7A:26"
bmac="00:0d:87:fe:e3:40"
dmac="00:50:8d:a4:7f:78"${fwcmd} add allow ip from any to any via lo0
${fwcmd} add deny log logamount 100 ip from any to 127.0.0.0/8
${fwcmd} add deny log logamount 100 ip from 127.0.0.0/8 to any${fwcmd} add deny ip from any to 10.0.0.0/8 via bge0
${fwcmd} add deny ip from any to 172.16.0.0/12 via bge0
${fwcmd} add deny ip from any to 192.168.0.0/16 via bge0
${fwcmd} add deny ip from any to 0.0.0.0/8 via bge0
${fwcmd} add deny ip from any to 169.254.0.0/16 via bge0
${fwcmd} add deny ip from any to 192.0.2.0/24 via bge0
${fwcmd} add deny ip from any to 224.0.0.0/4 via bge0
${fwcmd} add deny ip from any to 240.0.0.0/4 via bge0${fwcmd} add divert 8668 ip from any to any via bge0
${fwcmd} add deny ip from 10.0.0.0/8 to any via bge0
${fwcmd} add deny ip from 172.16.0.0/12 to any via bge0
${fwcmd} add deny ip from 192.168.0.0/16 to any via bge0
${fwcmd} add deny ip from 0.0.0.0/8 to any via bge0
${fwcmd} add deny ip from 169.254.0.0/16 to any via bge0
${fwcmd} add deny ip from 192.0.2.0/24 to any via bge0
${fwcmd} add deny ip from 224.0.0.0/4 to any via bge0
${fwcmd} add deny ip from 240.0.0.0/4 to any via bge0${fwcmd} add allow tcp from any to any established
${fwcmd} add allow ip from any to any frag
${fwcmd} add deny log logamount 100 tcp from any to any in via bge0 setup${fwcmd} add allow all from 192.168.2.0/24 to any in via ${internal} mac any ${amac}
${fwcmd} add allow all from 192.168.2.0/24 to any in via ${internal} mac any ${bmac}
${fwcmd} add allow all from 192.168.2.0/24 to any in via ${internal} mac any ${cmac}
${fwcmd} add allow all from 192.168.2.0/24 to ${proxy} in via ${internal}
${fwcmd} add deny log all from 192.168.2.0/24 to any in via ${internal}
${fwcmd} allow tcp from any to any setup
...
${fwcmd} add pass udp from ${oip} to any 53 keep-state
${fwcmd} add ... всякие ntp и т.п.
${fwcmd} add ... всякие icmp
...
${fwcmd} add deny log ip from any to any
65535 deny ip from any to anyТипа того. Коли Вы что-то вычеркнули, то и добавьте.
Про переменные ядра не забудьте.
>[оверквотинг удален]
>...
>${fwcmd} add pass udp from ${oip} to any 53 keep-state
>${fwcmd} add ... всякие ntp и т.п.
>${fwcmd} add ... всякие icmp
>...
>${fwcmd} add deny log ip from any to any
>65535 deny ip from any to any
>
>Типа того. Коли Вы что-то вычеркнули, то и добавьте.
>Про переменные ядра не забудьте.всё что вы написали - всё это имеется, я просто не стал тут расписывать в подробностях свой rc.firewall
переменныая ядра что-то типа "РАЗРЕШИТЬ_ВСЁ"
Товарищ зачинщик темы, обратите внимание на пост>net.link.ether.ipfw - если 1, то ipfw2 позволяет фильтровать по MAC адресам
Это именно то что вам не хватает.
>Товарищ зачинщик темы, обратите внимание на пост
>
>>net.link.ether.ipfw - если 1, то ipfw2 позволяет фильтровать по MAC адресам
>
>Это именно то что вам не хватает.А КАК ЕГО ПОСТАВИТЬ В "1" ?
>>Товарищ зачинщик темы, обратите внимание на пост
>>
>>>net.link.ether.ipfw - если 1, то ipfw2 позволяет фильтровать по MAC адресам
>>
>>Это именно то что вам не хватает.
>
>А КАК ЕГО ПОСТАВИТЬ В "1" ?:-)
sysctl net.link.ether.ipfw=1
>[оверквотинг удален]
>>>
>>>>net.link.ether.ipfw - если 1, то ipfw2 позволяет фильтровать по MAC адресам
>>>
>>>Это именно то что вам не хватает.
>>
>>А КАК ЕГО ПОСТАВИТЬ В "1" ?
>
>:-)
>
>sysctl net.link.ether.ipfw=1А что будет после перезагрузки? Сбросится в ноль?
>[оверквотинг удален]
>>>>
>>>>Это именно то что вам не хватает.
>>>
>>>А КАК ЕГО ПОСТАВИТЬ В "1" ?
>>
>>:-)
>>
>>sysctl net.link.ether.ipfw=1
>
>А что будет после перезагрузки? Сбросится в ноль?Тема старая ну не удержался...
ee /etc/sysctl.conf