Список разрешенных IP в IPFW

Настройка сетевых служб, маршрутизации, фаерволлов. Проблемы с сетевым оборудованием.
Правила форума
Убедительная просьба юзать теги [code] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
Аватара пользователя
alex117
ст. сержант
Сообщения: 377
Зарегистрирован: 2010-07-30 13:25:13

Список разрешенных IP в IPFW

Непрочитанное сообщение alex117 » 2011-07-21 13:35:55

Собственно вопрос: как в конфиге IPFW указать список ip-адресов? Пробовал создавать переменную типа:

Код: Выделить всё

IP_list="/etc/black_list"
Где в /etc/black_list построчно были записаны нужные ip-адреса, но не катит
Мне нужно, чтобы в инет через NAT ходили только несколько компов, а остальные - через SQUID. При моей настройке все, у кого прописан шлюз имеют выход в инет, пока борюсь с этим добавлением запрещающих правил для каждого компа, но это не выход. Нужно что-то типа " запретить всем, кроме ip из белого списка.

Хостинговая компания Host-Food.ru
Хостинг HostFood.ru
 

Услуги хостинговой компании Host-Food.ru

Хостинг HostFood.ru

Тарифы на хостинг в России, от 12 рублей: https://www.host-food.ru/tariffs/hosting/
Тарифы на виртуальные сервера (VPS/VDS/KVM) в РФ, от 189 руб.: https://www.host-food.ru/tariffs/virtualny-server-vps/
Выделенные сервера, Россия, Москва, от 2000 рублей (HP Proliant G5, Intel Xeon E5430 (2.66GHz, Quad-Core, 12Mb), 8Gb RAM, 2x300Gb SAS HDD, P400i, 512Mb, BBU):
https://www.host-food.ru/tariffs/vydelennyi-server-ds/
Недорогие домены в популярных зонах: https://www.host-food.ru/domains/

snorlov
подполковник
Сообщения: 3927
Зарегистрирован: 2008-09-04 11:51:25
Откуда: Санкт-Петербург

Re: Список разрешенных IP в IPFW

Непрочитанное сообщение snorlov » 2011-07-21 15:24:46

man ipfw, а там на table()

km
рядовой
Сообщения: 16
Зарегистрирован: 2009-07-16 11:57:57

Re: Список разрешенных IP в IPFW

Непрочитанное сообщение km » 2011-07-28 4:07:30

Конечно я несупер спец, но сделал бы так:
1. Настроить прозрачный прокси, если не знаешь как, читай форум.
1. Создал файл с ip адресами, тем кому можно на NAT(white_list);
2. Создал файл с ip адресами, тем кому только через squid(black_list);
3. В файле конфигурации firewall использовал table:

Код: Выделить всё

#!/bin/sh

ipfw -f flush
ipfw table all flush

iip="192.168.1.1"
oip="xxx.xxx.xxx.xxx"
oif="xl0"
iif="em0"

cat /etc/black_list | while read cLine1; do
        ipfw table 1 add $cLine1
done

cat /etc/white_list | while read cLine2; do
        ipfw table 2 add $cLine2
done

ipfw add 10 check-state
ipfw add 20 allow all from any to any via lo0

ipfw nat 1 config if ${oif} deny_in same_ports unreg_only
ipfw add 40 nat 1 tcp from "table(2)" to any 80 out via ${oif}
ipfw add 50 nat 1 tcp from any 80 to ${oip} in via ${oif}   

ipfw add 60 fwd ${iip},8080 tcp from "table(1)" to any 80 recv ${iif}

ipfw add 70 allow ip from any to any via ${iif}
ipfw add 80 deny all from any to any
4. Перезапустил файрвол.

Вышеуказанные настройки указаны для FreeBSD 7.2(ipfw+kernel NAT+SQUID)

km
рядовой
Сообщения: 16
Зарегистрирован: 2009-07-16 11:57:57

Re: Список разрешенных IP в IPFW

Непрочитанное сообщение km » 2011-07-28 4:25:38

Тут подумал, можно даже проще сделать.
Используя только черный список ip.

Код: Выделить всё

#!/bin/sh

ipfw -f flush
ipfw table all flush

iip="192.168.1.1"
oip="xxx.xxx.xxx.xxx"
oif="xl0"
iif="em0"

cat /etc/black_list | while read cLine; do
        ipfw table 1 add $cLine
done

ipfw add 10 check-state
ipfw add 20 allow all from any to any via lo0

ipfw add 30 fwd ${iip},8080 tcp from "table(1)" to any 80 recv ${iif}

ipfw nat 1 config if ${oif} deny_in same_ports unreg_only
ipfw add 40 nat 1 tcp from ${iip}/24 to any 80 out via ${oif}
ipfw add 50 nat 1 tcp from any 80 to ${oip} in via ${oif} 

ipfw add 70 allow ip from any to any via ${iif}
ipfw add 80 deny all from any to any