Guest Admin Posted 2004-10-21 21:24:40 Share Posted 2004-10-21 21:24:40 Мужики, поделитесь кто-нибудь рабочими правилами IPTABLES для старгейзера. Что-то я совсем не могу разобраться... Link to post Share on other sites
S_ergey 21 Posted 2004-10-21 21:47:59 Share Posted 2004-10-21 21:47:59 Опиши по конкретней типа есть eth0 и eth1 или только eth0 ...... http://local.com.ua/forum/index.php?showto...st=0entry5570 Link to post Share on other sites
Foster 0 Posted 2004-10-22 05:21:50 Share Posted 2004-10-22 05:21:50 тут есть немного описания про iptables для стг http://local.com.ua/?op=46&s=19 Link to post Share on other sites
nn 7 Posted 2004-10-22 06:10:32 Share Posted 2004-10-22 06:10:32 тут есть немного описания про iptables для стгhttp://local.com.ua/?op=46&s=19 Эти скрипты могут пропускать трафик для незаконченных сессий. Надо чтобы политика по умолчанию в DROP была для FORWARD. Если просто, то надо, чтобы в Firewall: /sbin/iptables -F; iptables -t nat -F; iptables -t mangle -F /sbin/iptables -t filter -P FORWARD DROP Включаем форвардинг и маскарадинг в: OnConnect iptables -t filter -A FORWARD -s $2 -j ACCEPT iptables -t filter -A FORWARD -d $2 -j ACCEPT iptables -t nat -A POSTROUTING -o eth1 -s $2 -j MASQUERADE И выключаем в: OnDisconnect iptables -t filter -D FORWARD -s $2 -j ACCEPT iptables -t filter -D FORWARD -d $2 -j ACCEPT iptables -t nat -D POSTROUTING -o eth1 -s $2 -j MASQUERADE Link to post Share on other sites
Guest admin Posted 2004-10-22 12:57:25 Share Posted 2004-10-22 12:57:25 В общем: есть шлюз (eth0 - смотрит в локалку 192.168.0.1, eth1 прямо в интернет хх.хх.хх.хх) на котором также крутится вэб-сервер, днс, почта и собственно, старгейзер. Нужно сделать так, чтобы при отключенном авторизаторе юзеры видели мой вэб-сервер и у них работал днс для внутренней сети. Когда авторизатор включается, то появляется доступ к почте, инету и днс обрабатывает все запросы, а не только локальные. Спасибо за отзывы! Link to post Share on other sites
Guest admin Posted 2004-10-22 14:04:45 Share Posted 2004-10-22 14:04:45 И еще там же установлен сквид, нужно чтобы он работал как прозрачный прокси. Помогите, кто-нибудь. Link to post Share on other sites
BOBAH 0 Posted 2004-10-22 23:21:08 Share Posted 2004-10-22 23:21:08 Все есть в форуме, шукай. Link to post Share on other sites
zash 0 Posted 2004-10-23 13:54:30 Share Posted 2004-10-23 13:54:30 Izvinite 4to ne na kirilitze. Vo pervyh nada firewall (to bish iptables) nastroit', pishem script "firewall": <firewall> #!/bin/bash echo 1 > /proc/sys/net/ipv4/ip_forward # forwarding paketov (esli eshe ne vkliu4en) IPT="/usr/sbin/iptables" ext_ip="xxx.xxx.xxx.xxx" int_ip="yyy.yyy.yyy.yyy" ext_if="eth0" int_if="eth1" ## Clear all rules $IPT -t filter -F $IPT -t filter -X $IPT -t nat -F $IPT -t nat -X $IPT -t filter -P INPUT DROP $IPT -t filter -P FORWARD DROP $IPT -t filter -P OUTPUT ACCEPT $IPT -t nat -P PREROUTING ACCEPT $IPT -t nat -P POSTROUTING ACCEPT $IPT -t nat -P OUTPUT ACCEPT ## lo # dobavliaem sebia v rules $IPT -t filter -A INPUT -d 127.0.0.1 -j ACCEPT ## DNS # Pozvoliaen DNS prohodit' $IPT -t filter -A INPUT -p tcp --dport 53 -j ACCEPT $IPT -t filter -A INPUT -p udp --dport 53 -j ACCEPT ## Squid # Na spu4ai esli esti squid $IPT -t filter -A INPUT -p tcp -s $ext_ip/24 --dport 8080 -j ACCEPT $IPT -t filter -A INPUT -p tcp -s $ext_ip/24 --sport 8080 -j ACCEPT # Eto esli ho4esh 4toby tvoi squid iz ineta viden byl. Esli net, no esti eshe servera dlia kotoryh # squid nujen to vmesto teh 2-x rules pishes $IPT -t filter -A INPUT -p tcp -s "ip server" --dport 8080 -j ACCEPT $IPT -t filter -A INPUT -p tcp -s "ip server" --sport 8080 -j ACCEPT ## SSH #Vezde i vsegda $IPT -t filter -A INPUT -p tcp --dport 22 -j ACCEPT $IPT -t filter -A OUTPUT -p tcp --sport 22 -j ACCEPT $IPT -t filter -A INPUT -p tcp --sport 22 -j ACCEPT $IPT -t filter -A OUTPUT -p tcp --dport 22 -j ACCEPT ## Avtorizator $IPT -t filter -A INPUT -p udp -d $ext_ip --dport 5555 -j REJECT $IPT -t filter -A OUTPUT -p udp -s $ext_ip --sport 5555 -j REJECT $IPT -t filter -A INPUT -p udp -d $ext_ip --sport 5555 -j REJECT $IPT -t filter -A OUTPUT -p udp -s $ext_ip --dport 5555 -j REJECT $IPT -t filter -A INPUT -p udp -d $int_ip --dport 5555 -j ACCEPT $IPT -t filter -A INPUT -p udp --sport 5555 -d $int_ip -j ACCEPT ## Configurator $IPT -t filter -A INPUT -p tcp -d $int_ip --dport 5555 -j ACCEPT $IPT -t filter -A INPUT -p tcp -d $int_ip --sport 5555 -j ACCEPT $IPT -t filter -A INPUT -p tcp -d $ext_ip --dport 5555 -j ACCEPT $IPT -t filter -A INPUT -p tcp -d $ext_ip --sport 5555 -j ACCEPT ## Pingu vechnaia SVOBODA!!! $IPT -t filter -A INPUT -p icmp -j ACCEPT $IPT -t filter -A OUTPUT -p icmp -j ACCEPT ## Esli esti eshe mashiny dlia kotoryh ne nujno trafik s4itati to: $IPT -t filter -A INPUT -p tcp -s 192.168.1.5 --dport 8080 -j ACCEPT iptables -t nat -A POSTROUTING -s 192.168.1.5 -j SNAT --to-source 81.180.73.121 iptables -t filter -A FORWARD -i eth1 -s 192.168.1.5 -j ACCEPT iptables -t filter -A FORWARD -d 192.168.1.5 -j ACCEPT ## Apache #Esli est' $IPT -t filter -A INPUT -p tcp --dport 80 -j ACCEPT $IPT -t filter -A INPUT -p tcp --sport 80 -j ACCEPT ## Samba # mogut byt' drugie porty - ne smotrel, mojet oshibaius' $IPT -t filter -A INPUT -p tcp --dport 139 -j ACCEPT $IPT -t filter -A INPUT -p tcp --sport 139 -j ACCEPT Prime4anie: "-t filter " ne obiazatel'no pisat' esli esti eshe progi dlia kotoryh nado net pustit' - poskaesh analogi4no Link to post Share on other sites
zash 0 Posted 2004-10-23 13:58:15 Share Posted 2004-10-23 13:58:15 V "OnConnect" pishesh tak: OnConnect LOGIN=$1 IP=$2 CASH=$3 ID=$4 iptables -t filter -A INPUT -p tcp -s $IP --dport 8080 -j ACCEPT iptables -t nat -A POSTROUTING -s $IP -j SNAT --to-source 81.180.73.121 iptables -t filter -A FORWARD -i eth1 -s $IP -j ACCEPT iptables -t filter -A FORWARD -d $IP -j ACCEPT echo "Connect login='$LOGIN' ip=$IP cash='$CASH'" >> /tmp/users I vsemi adminami liubimyi -- "OnDisconect" OnDisconect LOGIN=$1 IP=$2 CASH=$3 ID=$4 iptables -t filter -D INPUT -p tcp -s $IP --dport 8080 -j ACCEPT while [ $? -eq 0 ] do iptables -t filter -D INPUT -p tcp -s $IP --dport 8080 -j ACCEPT done iptables -t nat -D POSTROUTING -s $IP -j SNAT --to-source 81.180.73.121 while [ $? -eq 0 ] do iptables -t nat -D POSTROUTING -s $IP -j SNAT --to-source 81.180.73.121 done iptables -t filter -D FORWARD -i eth1 -s $IP -j ACCEPT while [ $? -eq 0 ] do iptables -t filter -D FORWARD -i eth1 -s $IP -j ACCEPT done iptables -t filter -D FORWARD -d $IP -j ACCEPT while [ $? -eq 0 ] do iptables -t filter -D FORWARD -d $IP -j ACCEPT done echo "Disconnect login='$LOGIN' ip=$IP cash='$CASH'" >> /tmp/users Vrode vsio... pol'zuisia na zdorovie. Information MUST be FREE!!! Link to post Share on other sites
zash 0 Posted 2004-10-23 14:01:01 Share Posted 2004-10-23 14:01:01 Prosiba nashim uvajaemym adminam. Esli 4to-to s pravilami ne TAK, i est' "bug-i" to pojaluista NAPISHITE!!! budu O4EN' priznatelen. zash Link to post Share on other sites
nn 7 Posted 2004-10-23 20:28:59 Share Posted 2004-10-23 20:28:59 Prosiba nashim uvajaemym adminam. Esli 4to-to s pravilami ne TAK, i est' "bug-i" to pojaluista NAPISHITE!!! budu O4EN' priznatelen. zash Скорее всего пропускать будет незаконченные сессии. Проверь так: 1. Подключиться авторизатором. 2. Поставить что-то побольше на закачку. 3. Отключиться. Если закачка не прекращается, то есть бага. Link to post Share on other sites
Guest Guest_REND Posted 2004-10-25 12:04:33 Share Posted 2004-10-25 12:04:33 Просто в OnConnect поставил: ipchains -A forward -s $clientip -j MASQ а в OnDisconnect: ipchains -D forward -s $clientip -j MASQ Вроди бы всё работает, считает..... Link to post Share on other sites
XoRe 0 Posted 2004-10-25 12:12:29 Share Posted 2004-10-25 12:12:29 гы))) "вот же мозгое...ство с этими iptables" думал я.... =)) Link to post Share on other sites
nn 7 Posted 2004-10-25 19:27:08 Share Posted 2004-10-25 19:27:08 гы)))"вот же мозгое...ство с этими iptables" думал я.... =)) Мне после фри сначала тоже как-то не так на линухе все было, особенно с фаерволом. Но фаервол в некотором плане попродвинутей будет, структурированнее, да и некоторые другие вещи тоже, например файловые системы. Самое главное, что софта много, в т.ч. и коммерческого, а также драйвера практичесски под все есть. Link to post Share on other sites
REND 0 Posted 2004-10-26 01:38:35 Share Posted 2004-10-26 01:38:35 гы)))"вот же мозгое...ство с этими iptables" думал я.... =)) а что? что то не так?? Просто я новичок в этом...... Link to post Share on other sites
XoRe 0 Posted 2004-10-26 04:55:54 Share Posted 2004-10-26 04:55:54 Но фаервол в некотором плане попродвинутей будет, структурированнее Обоснуй. + Есть ли в лине аналог dummynet ? Link to post Share on other sites
nn 7 Posted 2004-10-26 09:20:14 Share Posted 2004-10-26 09:20:14 Но фаервол в некотором плане попродвинутей будет, структурированнее Обоснуй. + Есть ли в лине аналог dummynet ? В линухи такие фаервол модульный, т.е. что надо загружается по необходимости. И модулей есть этих немерянно, много разрабатывается. Есть и шейперы, причем не один. Не занимался их тестированием, но кто-то на форуме, кажется civilizator писал об этом. Но речь не об этом. Просто хотел сказать, что Линух ничем не хуже, а в некоторых моментах попроятнее чем фря. З.Ы. В дальнейшем на пустые споры меня провоцировать будет бесполезно, я просто проигнорую это. Link to post Share on other sites
XoRe 0 Posted 2004-10-26 10:04:28 Share Posted 2004-10-26 10:04:28 Просто хотел сказать, что Линух ничем не хуже, а в некоторых моментах попроятнее чем фря. Я не хочу спорить, я хочу узнать чтото новое. Ты работал с фрей, потом работал с линухом. Поэтому на мой взгляд, ты действительно сможешь обосновать свое мнение, а не просто кидаться фразами типа "фря сакс, линь руль", как это делают многие другие. Я хочу узнать, почему ты так считаешь. То есть в каких моментах линух попри(?)ятнее фри. Link to post Share on other sites
nn 7 Posted 2004-10-26 14:24:12 Share Posted 2004-10-26 14:24:12 В предыдущих постингах писал, цитировать себя не буде, вкратце напомню: 1.Модульность. 2. Больше драйверов, есть практически на все. Производители нового железа пишут дрова на линух. 3. Наличие софта, в т.ч. и коммерческого (Например БД Оракл, Лотус). Под фрю его просто не портируют. 4. Больше служебных програм. 5. Больше литературы. Пример из личного опыта: 1. Захотел я прикрутить УПС, чтобы хальтовал сервак, потом как появится елекричество и подзарядятся батареи - поднимался сам. Халявный софт этого не делает. Дорабатывать его нет возможности, протокол АРС закрытый, да и времени жалко на это. Берем готовый PowerChute для Linux, ставим за 5 мин, полный фарш. Все что хошь делает, интерфейс под Х... 2. Фирма, к которой я имею некоторое отношение, занимается разработкой под Лотус Ноутс. Софт только лицензионный. Покупать сервак Виндовз? Для Линухи есть сервер, IBM благо поддерживает Linux. Был сервак и под Соляру, но это снова ком. система. А исходников никто не даст, сам понимаешь. О прикрутке на фрю не может быть и речи. Даж если прикрутить, то это не пройдет как сертифицированное решение. Фря класна, стабильна, для рутера, например лучше не придумаешь. У самого стоит на флешовом рутере, заточенная ес-сно, был такой проджект, потратили пару месяцев на это. Но когда нужна универсальность, гибкость, продвинутость, ставим Линуху. А упираться в какую-то одну ОС, тратить время, на то чтобы прикрутить к ней софтину, что и так нормально работает под такой же или даже более функциональной, не вижу смысла. Такой я рационалист. Не только не могу себя заставить заниматься тем, что и так есть, но и не часто могу часто себе этого позволить. Времени жалко. Link to post Share on other sites
zulu_gluk 23 Posted 2004-10-26 15:18:34 Share Posted 2004-10-26 15:18:34 Товарищи, Вы ушли от темы. Немного переделал под себя правила zash'a. На моем серваке установлены DNS, Апач(доступ всегда и бесплатно), Постфикс+Курьер-Имап, Сквид. Последние два сервиса платные, работают только после подключения авторизатора. firewall: #!/bin/bash #Forwarding ON echo 1 > /proc/sys/net/ipv4/ip_forward IPT="/sbin/iptables" ext_ip="xxx.xxx.xxx.xxx" int_ip="192.168.100.200" ext_if="eth1" int_if="eth0" # Clear all rules $IPT -t filter -F $IPT -t filter -X $IPT -t nat -F $IPT -t nat -X $IPT -t filter -P INPUT DROP $IPT -t filter -P FORWARD DROP $IPT -t filter -P OUTPUT ACCEPT $IPT -t nat -P PREROUTING ACCEPT $IPT -t nat -P POSTROUTING ACCEPT $IPT -t nat -P OUTPUT ACCEPT # localhost $IPT -t filter -A INPUT -d 127.0.0.1 -j ACCEPT # DNS $IPT -t filter -A INPUT -p tcp --dport 53 -j ACCEPT $IPT -t filter -A INPUT -p udp --dport 53 -j ACCEPT $IPT -t filter -A INPUT -p tcp --sport 53 -j ACCEPT $IPT -t filter -A INPUT -p udp --sport 53 -j ACCEPT #SMTP from Internet $IPT -t filter -A INPUT -p tcp -i $ext_if --dport 25 -j ACCEPT # Vhodyashie soedineniya $IPT -t filter -A INPUT -p tcp -i $ext_if -m state --state ESTABLISHED --state RELATED -j ACCEPT # SSH $IPT -t filter -A INPUT -p tcp --dport 22 -j ACCEPT $IPT -t filter -A OUTPUT -p tcp --sport 22 -j ACCEPT # Autorizator $IPT -t filter -A INPUT -p udp -d $ext_ip --dport 5555 -j REJECT $IPT -t filter -A OUTPUT -p udp -s $ext_ip --sport 5555 -j REJECT $IPT -t filter -A INPUT -p udp -d $ext_ip --sport 5555 -j REJECT $IPT -t filter -A OUTPUT -p udp -s $ext_ip --dport 5555 -j REJECT $IPT -t filter -A INPUT -p udp -d $int_ip --dport 5555 -j ACCEPT $IPT -t filter -A INPUT -p udp --sport 5555 -d $int_ip -j ACCEPT # Configurator $IPT -t filter -A INPUT -p tcp -d $int_ip --dport 5550 -j ACCEPT $IPT -t filter -A INPUT -p tcp -d $int_ip --sport 5550 -j ACCEPT $IPT -t filter -A INPUT -p tcp -d $ext_ip --dport 5550 -j ACCEPT $IPT -t filter -A INPUT -p tcp -d $ext_ip --sport 5550 -j ACCEPT # Ping $IPT -t filter -A INPUT -p icmp -j ACCEPT $IPT -t filter -A OUTPUT -p icmp -j ACCEPT # Apache $IPT -t filter -A INPUT -p tcp --dport 80 -j ACCEPT $IPT -t filter -A INPUT -p tcp --sport 80 -j ACCEPT OnConnect: LOGIN=$1 IP=$2 CASH=$3 ID=$4 #Razreshaem SMTP iptables -t filter -A INPUT -p tcp -s $IP --dport 25 -j ACCEPT #Razreshaem POP3 iptables -t filter -A INPUT -p tcp -s $IP --dport 110 -j ACCEPT #Razreshaem Squid iptables -t filter -A INPUT -p tcp -s $IP --dport 3128 -j ACCEPT #Razreshaem vhodyashie uje ustanovlennie soedineniya iptables -t filter -A INPUT -s $IP -m state --state ESTABLISHED --state RELATED -j ACCEPT #Forwarding iptables -t filter -A FORWARD -i eth0 -s $IP -j ACCEPT iptables -t filter -A FORWARD -d $IP -j ACCEPT #SNAT iptables -t nat -A POSTROUTING -s $IP -j SNAT --to-source 213.179.247.194 echo "Connect login='$LOGIN' ip=$IP cash='$CASH'" >> /tmp/users OnDisconnect: LOGIN=$1 IP=$2 CASH=$3 ID=$4 iptables -t filter -D INPUT -p tcp -s $IP --dport 25 -j ACCEPT while [ $? -eq 0 ] do iptables -t filter -D INPUT -p tcp -s $IP --dport 25 -j ACCEPT done iptables -t filter -D INPUT -p tcp -s $IP --dport 110 -j ACCEPT while [ $? -eq 0 ] do iptables -t filter -D INPUT -p tcp -s $IP --dport 110 -j ACCEPT done iptables -t filter -D INPUT -p tcp -s $IP --dport 3128 -j ACCEPT while [ $? -eq 0 ] do iptables -t filter -D INPUT -p tcp -s $IP --dport 3128 -j ACCEPT done iptables -t nat -D POSTROUTING -s $IP -j SNAT --to-source 213.179.247.194 while [ $? -eq 0 ] do iptables -t nat -D POSTROUTING -s $IP -j SNAT --to-source 213.179.247.194 done iptables -t filter -D FORWARD -i eth0 -s $IP -j ACCEPT while [ $? -eq 0 ] do iptables -t filter -D FORWARD -i eth0 -s $IP -j ACCEPT done iptables -t filter -D FORWARD -d $IP -j ACCEPT while [ $? -eq 0 ] do iptables -t filter -D FORWARD -d $IP -j ACCEPT done iptables -t filter -D INPUT -s $IP -m state --state ESTABLISHED --state RELATED -j ACCEPT while [ $? -eq 0 ] do iptables -t filter -D INPUT -s $IP -m state --state ESTABLISHED --state RELATED -j ACCEPT done echo "Disconnect login='$LOGIN' ip=$IP cash='$CASH'" >> /tmp/users Вроде всё пашет. Если что исправьте. Link to post Share on other sites
nn 7 Posted 2004-10-26 15:31:36 Share Posted 2004-10-26 15:31:36 Да, ты прав. надо по теме. Обещаю на провокации не поддаваться. В скрипте вроде все ОК. Для полной идеальности, конечно, в заменить бы реальные адреса, что в скриптах на переменные, которые из одного места берутся. Как насчет самбы еще. Мне что-то не удавалось, чтобы закрыть прочее и открыть самбу можно было. Link to post Share on other sites
zulu_gluk 23 Posted 2004-10-26 16:05:38 Share Posted 2004-10-26 16:05:38 Да уж заменить не помешало бы. Обязательно сделаю. А зачем на шлюзе самба? Link to post Share on other sites
XoRe 0 Posted 2004-10-27 10:57:28 Share Posted 2004-10-27 10:57:28 (edited) А зачем на шлюзе самба? Чтоб использовать остальные 100 гигов на жестком в 120гиг =)) Edited 2004-12-07 04:40:48 by XoRe Link to post Share on other sites
XoRe 0 Posted 2004-10-27 11:12:14 Share Posted 2004-10-27 11:12:14 OnConnect: #!/bin/sh LOGIN=${1} IP=${2} CASH=${3} ID=${4} NUM=`expr 5000 + ${ID}` /sbin/ipfw -q add ${NUM} skipto 10000 ip from ${IP} to any echo "Connect login='${LOGIN}' ip='${IP}' ID='${ID}'" >> /var/log/stargazer/users.log echo "`/bin/date` - /sbin/ipfw -q add ${NUM} skipto 10000 ip from ${IP} to any" >> /var/log/stargazer/users.log ----------- OnDisconnect: #!/bin/sh LOGIN=${1} IP=${2} CASH=${3} ID=${4} NUM=`expr 5000 + ${ID}` /sbin/ipfw -q delete ${NUM} echo "Disonnect login='${LOGIN}' ip='${IP}' ID='${ID}' NUM='${NUM}'" >> /var/log/stargazer/users.log echo "`/bin/date` - /sbin/ipfw -q delete ${NUM}" >> /var/log/stargazer/users.log Link to post Share on other sites
zash 0 Posted 2004-11-01 10:47:17 Share Posted 2004-11-01 10:47:17 Nashiol bagi v svoiom je skripte :-/ : DNS rabotaet na udp - prot, estes-no - drujno udaliaem stroku: $IPT -t filter -A INPUT -p tcp --dport 53 -j ACCEPT NO!!! Dobavliaem sledushiuiu: $IPT -t filter -A INPUT -p udp --sport 53 -j ACCEPT Bez nee rabotati ne budet (provereno) Sdelal prozra4nyi squid: $IPT -t filter -A INPUT -p tcp --dport 80 -j ACCEPT $IPT -t filter -A INPUT -p tcp --sport 80 -j ACCEPT $IPT -t nat -A PREROUTING -i $int_if -d ! $int_ip/24 -p tcp --dport 80 -j REDIRECT --to-ports 8080 A SAMBA u menia rabotaet kak pisal vyshe... $IPT -t filter -A INPUT -p tcp --dport 139 -j ACCEPT $IPT -t filter -A INPUT -p tcp --sport 139 -j ACCEPT Liudi! pomogite s shaper-om... podskajite hot' kakim polzuetes' i esli ne o4en' trudno to primer4ik bylo by o4en' harasho uvidet'. pls Link to post Share on other sites
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now