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, так что хорошо приживается во всех операционных системах.
Комментарии
10 лет 26 недель назад
10 лет 27 недель назад
10 лет 27 недель назад
10 лет 28 недель назад
10 лет 29 недель назад
10 лет 30 недель назад
10 лет 30 недель назад
10 лет 40 недель назад
10 лет 40 недель назад
10 лет 40 недель назад