Комментарии

Галерея

Опрос

Из каких стран идет больше всего спама, попыток взлома на ваши серверы?:

Ограничение внешнего трафика для абонентов JDSL средствами WIPFW

Аватар пользователя maximum

WIPFW for Windows.
Данная заметка появилась в результате работы над вопросом, как блокировать внешний трафик пользователям Windows являющимися абонентами JDSL, но разрешать внутренний бесплатный трафик. А внешний трафик пускать только через прокси (8080 порт), и пакеты для ICQ, Jabber.
В качестве фаервола будет использоваться wipfw представляющий собой, похожий по синтаксису с FreeBSD ipfw, интерфейс для управления пакетным фильтром Windows 2000/XP/2003. Из функциональности отсутствует возможность ограничения трафика, форвадинга и некоторые другие специфичные функции появившиеся в последнее время. Качаем с сайта http://wipfw.sourceforge.net/
Устанавливаем в папку, например d:/wipfw.
Необходимо запустить службу, выполнив install-deny.cmd
далее необходимо найти интерфейсы на компьютере -

ipfw enum

lo0 - MS TCP Loopback (127.0.0.1)
eth2 - local (192.168.2.1)
eth1 - adsl (192.168.1.2)(172.16.1.1)
видим что наш IP на сетевом интерфейсе eth1.

создадим в этой папке файл start.cmd с таким содержанием.

set ipfw="%SystemRoot%/system32/ipfw.exe"
set ext="ppp0"
set my="172.16.1.1"

%ipfw% -q flush

rem 80.95.32.0/24-80.95.47.0/24-диапазон адресов клиентов ИНТЕРНЕТ
rem 85.237.32.0/24-85.237.63.0/24-диапазон адресов клиентов ИНТЕРНЕТ
rem 172.16.0.0/12-диапазон адресов клиентов ИНТЕРНЕТ по технологии xDSL via NAT

%ipfw% add 40 check-state
%ipfw% add 100 allow all from any to any via lo0
%ipfw% add 113 deny ICMP from any to me via %ext%

%ipfw% add 150 deny ip from any to any 67,1033,1900,9999,18760,8765,27015,28000,38293 via %ext%
%ipfw% add 160 deny udp from any 137,138 to any 137,138 via %ext%
%ipfw% add 170 deny tcp from any to any 135,139,445 via %ext%

FOR /L %%N IN (32,1,47) DO %ipfw% add 42%%N allow all from 80.95.%%N.0/24 to %my% in via %ext%
FOR /L %%N IN (32,1,47) DO %ipfw% add 43%%N allow all from %my% to 80.95.%%N.0/24 out via %ext%
FOR /L %%N IN (32,1,63) DO %ipfw% add 44%%N allow all from 85.237.%%N.0/24 to %my% in via %ext%
FOR /L %%N IN (32,1,47) DO %ipfw% add 45%%N allow all from %my% to 85.237.%%N.0/24 out via %ext%

%ipfw% add 5000 allow all from 172.16.0.0/12 to %my% in via %ext%
%ipfw% add 5100 allow all from %my% to 172.16.0.0/12 out via %ext%
rem J-Fan
%ipfw% add 5200 allow all from 85.237.52.174 to %my% in via %ext%
%ipfw% add 5210 allow all from %my% to 85.237.52.174 out via %ext%

%ipfw% add 6000 allow tcp from %my% to any 8080 via %ext%
%ipfw% add 6100 allow tcp from any 8080 to %my% via %ext%

%ipfw% add 7000 allow tcp from %my% to any 5190 out via %ext%
%ipfw% add 7100 allow tcp from any 5190 to %my% in via %ext%

%ipfw% add 8000 allow tcp from %my% to any 5222 out via %ext% keep-state
%ipfw% add 50000 deny log all from any to any

В данном примере необходимо заменить
set ext="ppp0" на свой интерфейс eth1 или какой у вас там.
set my="172.16.1.1" а тут вписать свой IP адрес.
Для любителей копаться глубже, set /? for /? дадут подсказку по командам.
Ну и прочитать немного про wipfw..
Далее необходимо отредактировать файл в папке bin loadrules.cmd к такому содержанию
rem "%systemroot%system32ipfw" "%cd%..wipfw.conf"
"%cd%..start.cmd"

и запустить start.cmd и посмотреть что получилось.
если все совсем плохо то выполните uninstall.cmd для отключения службы.

в качестве прокси кто-то использует Трафинспектор и т.д. как вариант я использую http://toonet.net который еще и экономит трафик. Программа написана на java, так что хорошо приживается во всех операционных системах.