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

Исходное сообщение
"Помогите написать конфиг IPFW"

Отправлено sedfom , 29-Мрт-06 11:07 
Есть текстовый файл формата:
IP MAC
Пример
192.168.168.1 00:80:48:14:4f:17
192.168.170.2 00:80:48:14:4f:18
и т.д.
Файл используется в этом формате для arp -f

Хочется использовать этот файл в правилах IPFW. Т.е. написать допустим 5-10 строк конфига для разрешения всем IP адресам из файла доступ куда-либо. Для конкретики:

ОС - FreeBSD 5.4
ядро скомпилировано со всеми необходимыми для работы IPFW опциями.
два сетевых интерфейса - fxp1(192.168.170.2) fxp2(192.168.168.1)
шлюз по умолчанию 192.168.170.1
NAT нет, используется маршрутизация.
В файле также прописаны Мак-адреса для IP 192.168.168.1 и 192.168.170.2

как разрешить всем записанным в файле IP адресам доступ к 192.168.170.1 а всем кого нет в списке тем запретить?


Содержание

Сообщения в этом обсуждении
"Помогите написать конфиг IPFW"
Отправлено Vault_Dweller , 29-Мрт-06 13:26 
>Хочется использовать этот файл в правилах IPFW.

это решается... лехко!

>как разрешить всем записанным в файле IP адресам доступ к 192.168.170.1 а
>всем кого нет в списке тем запретить?

`man ipfw | grep deny`


"Помогите написать конфиг IPFW"
Отправлено MoHaX , 29-Мрт-06 13:29 
>>Хочется использовать этот файл в правилах IPFW.
>
>это решается... лехко!
>
>>как разрешить всем записанным в файле IP адресам доступ к 192.168.170.1 а
>>всем кого нет в списке тем запретить?
>
>`man ipfw | grep deny`

И?



"Помогите написать конфиг IPFW"
Отправлено Vault_Dweller , 29-Мрт-06 13:54 
>И?
и подумать чуток :)
вот так например я когда то делал так (не супер - но вроде работало):
--- start or rc.firewall ---
# где лежит список
users="/usr/local/etc/ipfw/users"
#
# ваши правила
#
user_numb=10000
user () {
    $fw add $user_numb $(user_numb=$(($user_numb+50))) pass all from $1 to any keep-state via $lan_if;
    $fw add $user_numb $(user_numb=$(($user_numb+50))) pass all from any to $1;
}
# потом загружается
. $users
#
# ваши правила
#
--- end of rc.firewall ---

список юзеров имел вид:

# user's IP user's MAC user's name
user 10.10.10.10 00:c0:26:a5:98:d6 # user1
user 10.10.10.11 00:c0:26:31:68:64 # user2
user 10.10.10.12 00:50:bf:67:46:90 # user3

правда это только под IP адреса, но под МАС-и правила ниче не стоит переделать... например вот такого типа:
$fw add $user_numb $(user_numb=$(($user_numb+50))) pass all from $1 to any mac any $2 keep-state via $lan_if
ну или че то похожее...
вот тут http://www.hub.ru/forum/index.php?s=&showtopic=5014&view=fin... я все это расписывал...