Братцы! Не дайте погибнуть! Помогите, plz, настроить правила ipchains. Сколько не бьюсь не могу настроить. Напишите, если не влом, буду очень признателен. Имеется RH 6.2, ipchains 1.3.9, динамический IP.
Пожалуйста...
МУЖИК!!!
а что именно тебе нужно??
что за цель???
Что надо? Надо чтобы был доступ по www, ftp и почта по pop-3, smtp. Остальное все закрыть. Помогите...
ipchains -F
ipchains -Zipchains -P input DENY
ipchains -P output DENY
ipchains -P forward DENYipchains -A input -s $UserHost/32 -d 0/0 80:80 -p tcp -j ACCEPT
ipchains -A input -s $UserHost/32 -d 0/0 80:80 -p tcp -j ACCEPT
ipchains -A output -d $UserHost/32 -s 0/0 80:80 -p tcp -j ACCEPT
ipchains -A output -d $UserHost/32 -s 0/0 80:80 -p tcp -j ACCEPT
тоже для портов 20:21, 25, 53, 110......
затем
ipchains -A forward -s $UserHost/32 -d 0/0 -p all -j MASQпопробуй , но зачем такой теракт над юзерями :(
Pleaseee!!! У меня динамический IP, как указать его в правилах. У меня один комп, сети нет, что написать в $UserHost/32... Не оставьте без внимания БРАТЦЫ...
Мужик! с тобой всё понятно! :)$UserHost/32 - вданном примере для каждого юзера
ВНИМАТЕЛЬНО ПРОЧТИ СКРИПТЫ И ПРОАНАЛИЗИРУЙ ИХ, ЗАТЕМ ЗАДАВАЙ ВОПРОСЫ...
у меня 2 скрипты..
в первой я указываю общие правила, а во второй работаю с каждым клиентом отдельноте-же настройки у меня на домашнем сервере, тока
другие айпишники :))
и это работает между подсетями....
:)
вот первая я её назвал rc.ipchains
#!/bin/bash# Some variables
HomePath=/etc/rc.d/
MyInetIface=ppp0# flushing all rules
ipchains -F
ipchains -Z
# closing MASQUERADE automaticallyipchains -P input ACCEPT
ipchains -P forward ACCEPT
ipchains -P output ACCEPT# enable loopback
#ipchains -A input -s 0/0 -d 127.0.0.1/8 -i lo0 -p all -j ACCEPT
#ipchains -A output -s 127.0.0.1/8 -d 0/0 -i lo0 -p all -j ACCEPT
#
#ipchains -A input -s 192.168.5.0/24 -d 192.168.5.1 3128 -i eth0 -p tcp -j DENY
#ipchains -A input -s 192.168.5.0/24 -d 192.168.5.1 3128 -i eth0 -p udp -j DENY#ipchains -A output -d 192.168.5.0/24 -s 192.168.5.1 3128 -i eth0 -p tcp -j DENY
#ipchains -A output -d 192.168.5.0/24 -s 192.168.5.1 3128 -i eth0 -p udp -j DENY
# closing NETBIOS servicesipchains -A input -s 0/0 135:139 -i $MyInetIface -p tcp -j DENY
ipchains -A input -s 0/0 135:139 -i $MyInetIface -p udp -j DENY
ipchains -A output -d 0/0 135:139 -i $MyInetIface -p tcp -j DENY
ipchains -A output -d 0/0 135:139 -i $MyInetIface -p udp -j DENYipchains -A input -s 0/0 20001:29999 -d 0/0 -i $MyInetIface -p tcp -j DENY
ipchains -A output -s 0/0 20001:29999 -d 0/0 -i $MyInetIface -p udp -j DENY
ipchains -A input -d 0/0 20001:29999 -s 0/0 -i $MyInetIface -p tcp -j DENY
ipchains -A output -d 0/0 20001:29999 -s 0/0 -i $MyInetIface -p udp -j DENY# closing other services
# telnet from internetipchains -A input -s 0/0 -i $MyInetIface 1:1 -p tcp -j DENY
# chains for TOTAL INTERNET TRAFFIC
ipchains -A input -s 0/0 -i $MyInetIface -p all -j ACCEPT
ipchains -A output -d 0/0 -i $MyInetIface -p all -j ACCEPT
# chains for users$HomePath/userchains 192.168.0.1 192.168.0.1
$HomePath/userchains 192.168.0.2 192.168.0.1
$HomePath/userchains 192.168.0.5 192.168.0.1
$HomePath/userchains 192.168.0.8 192.168.0.1
$HomePath/userchains 192.168.1.2 192.168.1.1
$HomePath/userchains 192.168.1.5 192.168.1.1
$HomePath/userchains 192.168.1.8 192.168.1.1
$HomePath/userchains 192.168.1.9 192.168.1.1
$HomePath/userchains 192.168.1.10 192.168.1.1
$HomePath/userchains 192.168.1.20 192.168.1.1
вот вторая и её имя userchains....#!/bin/bash
SourceIP=$1
DestIP=$2echo "open chains for src ip -> $SourceIP dst ip -> $DestIP"
SourceIP=$SourceIP/32
DestIP=$DestIP/32
MyInetIface=ppp0# if a directly connectiions to internet
#------------------------------------------------------------------------#
# input chains #
#------------------------------------------------------------------------##
#
#
ipchains -A input -s $SourceIP -d $DestIP 3128:3128 -p tcp -j ACCEPT
ipchains -A input -s $SourceIP -d $DestIP 3128:3128 -p udp -j ACCEPT
ipchains -A input -s $SourceIP -d $DestIP 25:53 -p tcp -j ACCEPT
ipchains -A input -s $SourceIP -d $DestIP 25:53 -p udp -j ACCEPT
ipchains -A input -s $SourceIP -d $DestIP 81:130 -p tcp -j ACCEPT
ipchains -A input -s $SourceIP -d $DestIP 81:130 -p udp -j ACCEPT
#
#
#
ipchains -A input -s $SourceIP -d 0/0 21:130 -p tcp -j ACCEPT
ipchains -A input -s $SourceIP -d 0/0 21:130 -p udp -j ACCEPTipchains -A input -s $SourceIP -d 0/0 140:65535 -p tcp -j ACCEPT
ipchains -A input -s $SourceIP -d 0/0 140:65535 -p udp -j ACCEPTipchains -A input -d $SourceIP -s 0/0 -i $MyInetIface -p all -j ACCEPT
#------------------------------------------------------------------------#
# output chains #
#------------------------------------------------------------------------#
# if thought server
# =================
#
ipchains -A output -d $SourceIP -s $DestIP 3128:3128 -p tcp -j ACCEPT
ipchains -A output -d $SourceIP -s $DestIP 3128:3128 -p udp -j ACCEPT
ipchains -A output -d $SourceIP -s $DestIP 25:53 -p tcp -j ACCEPT
ipchains -A output -d $SourceIP -s $DestIP 25:53 -p udp -j ACCEPT
ipchains -A output -d $SourceIP -s $DestIP 81:130 -p tcp -j ACCEPT
ipchains -A output -d $SourceIP -s $DestIP 81:130 -p udp -j ACCEPT
#
# ======
#
ipchains -A output -d $SourceIP -s 0/0 21:130 -p tcp -j ACCEPT
ipchains -A output -d $SourceIP -s 0/0 21:130 -p udp -j ACCEPTipchains -A output -d $SourceIP -s 0/0 140:65535 -p tcp -j ACCEPT
ipchains -A output -d $SourceIP -s 0/0 140:65535 -p udp -j ACCEPT
ipchains -A output -s $SourceIP -d 0/0 -i $MyInetIface -p all -j ACCEPT# Masquerade
ipchains -A forward -s $SourceIP -d 0/0 -p all -i $MyInetIface -j MASQобе они лежат в /etc/rc.d/
настройки содраны прямо из линуха....
Привет!!! Спасибо UMKA, что не оставляешь в беде
начинающих linuxoidov, помощь твоя безмерна. Спасибо! Прочитал внимательно, проанализировал...
Есть несколько вопросов.
1. Скрипты кинул в /etc/rc.d. Как их запустить после установления соединения, чтобы указать $SourceIP (у меня ведь динамический адрес).
2. Я так понял, что открывается доступ ко всему, а затем прикрываются ненужные. Нужна ли строка
>ipchains -P input DENY
если да, то где ее пустить.Заранее спасибо...
Эти скрипты я писал для сбора статистики через свою программу, но кое-что из неё выкинул...
значит я запускаю их сразу-же после инициализации
сетевых карт(в слаке, а я работаю тока на ней, это в скрипте rc.inet1по поводу ipchains -P input DENY:
эта строчка запретит тебе прием пакетов вообще, за исключением тех, которые ты указал в явном виде
т.е.
ipchains -A input -s 192.168.0.2/32 ....
разрешит только пользователю 192.168.0.2 лезть через сервер или на сервер, а остальные отдыхают....в общем достаточно запустить маскарадинг, чтобы юзеры полезли в инет, да прописать днс у юзерей на провайдера, если свой днс не стоит...
остальные цепочки нужны тока для сбора статистики...и вообще...www.linux.org.ru...там в доке лежит классная документация по ipchains
Эти скрипты я писал для сбора статистики через свою программу, но кое-что выкинул из скриптов...
значит я запускаю их сразу-же после инициализации
сетевых карт(в слаке, а я работаю тока на ней,да ещё во фрибсд, это в скрипте rc.inet1)по поводу ipchains -P input DENY:
эта строчка запретит тебе прием пакетов вообще, за исключением тех, которые ты указал в явном виде
т.е.
ipchains -A input -s 192.168.0.2/32 ....
разрешит только пользователю 192.168.0.2 лезть через сервер или на сервер, а остальные отдыхают....в общем достаточно запустить маскарадинг, чтобы юзеры полезли в инет, да прописать днс у юзерей на провайдера, если свой днс не стоит...
остальные цепочки нужны тока для сбора статистики...и вообще...www.linux.org.ru...там в доке лежит классная документация по ipchains