Запомняне

» Здравейте
[ Вход :: Регистриране ]
 » Начало » Li Форуми » Help & Support » Networking » iptables помощ за firewall
Тема: iptables помощ за firewall
Мнение #1 Skip to the next post in this topic.
Написано на: Март 08 2007, 11:38
tolostoi

Avatar




Група: Li maniacs
Мнения: 869
Регистриран: Юли 2006

Оценка: 5

Offline
Здравейте, и честит празник на всички дами !
Ситуацията е следната: Рутер с Debian etch, ядро 2.6.17-3 (или  17-4) Интерфейс към мрежата на доствачика eth0, интернет получавам през ВПН (pptp с mppe), интерфейс към вътрешната мрежа eth1 (мрежа 192.168.0.0/24) Всичко си работи, но не съм конфигурирал Firewall, понеже като инсталирах рутера бързах доста и го пуснах да разпределя нета и вече физически достъп до него нямам, влизам с ssh в него,ето тук идва евентуалният проблем :) ако объркам нещо във firewall-a примерно при задаване на политика
Код: 
iptables -P INPUT DROP
и евентуални грешки надолу в скрипта  ще си отрежа "клона" и няма да имам достъп чрез ssh - поне са ми такива опасенията за това искам съвет, за да не случва това  :6;
направих си изпълним файл в /etc/network/if-up.d който да вдига тунела на ВПН и и да изпълнява скрипта за firewall
/etc/network/if-up.d/star
Код: 
#!/bin/sh
pon vpn
/etc/init.d/fire
/etc/init.d/ е засега е със следното съдържание (тук мисля да напиша целия firewall)
Код: 
#!/bin/sh
iptables -t nat -A POSTROUTING -s 192.168.0.0/24 -o eth0 -j MASQUERADE;
iptables -t nat -A POSTROUTING -s 192.168.0.0/24 -o ppp+ -j MASQUERADE;
iptables -t mangle -A PREROUTING -i ppp+ -j TTL --ttl-inc 1;
iptables -t mangle -A PREROUTING -i eth0 -j TTL --ttl-inc 1;
iptables -t mangle -A POSTROUTING -s 192.168.0.0/24 -o ppp+ -j TTL --ttl-set 64;
iptables -t mangle -A POSTROUTING -s 192.168.0.0/24 -o eth0 -j TTL --ttl-set 64;
използвам ppp+ понеже със стартирането на системата ми вдига няколко ppp интерфейса , понякога ppp0 и ppp2,понякога ppp0,ppp1,ppp2 - различно понякога са ppp1 - това не ме притеснява (още повече, че в момента доставчика ми явно има някакъв проблем и имам нет през неговият gw - при мен eth0, но това сигурно скоро ще го оправят и ще имам само чрез VPN) това съм решил да е Firewall-a
Код: 
#!/bin/sh
iptables -F;
iptables -P INPUT ACCEPT;
iptables -P FORWARD ACCEPT;
iptables -P OUTPUT ACCEPT;

iptables -t nat -F;
iptables -t nat -P PREROUTING ACCEPT;
iptables -t nat -P POSTROUTING ACCEPT;
iptables -t nat -P OUTPUT ACCEPT;

iptables -t mangle -F;
iptables -t mangle -P PREROUTING ACCEPT;
iptables -t mangle -P INPUT ACCEPT;
iptables -t mangle -P FORWARD ACCEPT;
iptables -t mangle -P OUTPUT ACCEPT;
iptables -t mangle -P POSTROUTING ACCEPT;
iptables -P INPUT DROP;
iptables -A INPUT -i lo -j ACCEPT;
iptables -A INPUT -i eth1 -j ACCEPT;
iptables -A INPUT -p icmp -j ACCEPT;
iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT;
iptables -t nat -A POSTROUTING -s 192.168.0.0/24 -o eth0 -j MASQUERADE;
iptables -t nat -A POSTROUTING -s 192.168.0.0/24 -o ppp+ -j MASQUERADE;
iptables -A FORWARD -s 192.168.1.0/24 -o ppp+ -j ACCEPT;
iptables -A FORWARD -d 192.168.0.0/24 -m state --state ESTABLISHED,RELATED -i ppp+ -j ACCEPT;
iptables -A FORWARD -s 192.168.0.0/24 -o eth0 -j ACCEPT;
iptables -A FORWARD -d 192.168.0.0/24 -m state --state ESTABLISHED,RELATED -i eth0 -j ACCEPT;
iptables -t mangle -A PREROUTING -i ppp+ -j TTL --ttl-inc 1;
iptables -t mangle -A PREROUTING -i eth0 -j TTL --ttl-inc 1;
iptables -t mangle -A POSTROUTING -s 192.168.0.0/24 -o ppp+ -j TTL --ttl-set 64;
iptables -t mangle -A POSTROUTING -s 192.168.0.0/24 -o eth0 -j TTL --ttl-set 64;
Моля ако има излишни редове или липсващи да ми дадете съвет да ги коригирам. Порт 22 няма смисъл да го отварям понеже не мога да се свържа от интернет с рутера (публичният адрес го сменят, а дори и когато знам и пробвам не мога да стигна до рутера няма пренасочен порт към моето IP)Искам и да да отворя няколко порта за торенти, за получаване на файлове по ICQ,Skype,Yahoo mesenger и евентуално ако е нужно нещо за IRC (някой от мрежата го ползват, аз не го ползвам и нямам идея как работи)- само, че незнам как да го направя.
Благодаря предварително !

Мнение #2 Skip to the next post in this topic.
Skip to the previous post in this topic. Написано на: Март 08 2007, 13:58
Нерегистриран










Има идея в това :
CODE]iptables -t nat -A POSTROUTING -p tcp -o eth0 -j SNAT --to-source 194.236.50.155-194.236.50.160:1024-32000[/CODE]
Като горните адреси са примерни както и обхвата от портовете.
Има и друго решение :
Код: 
iptables-A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -t nat -I PREROUTING -p tcp --dport 6881:6999 -j DNAT --to-destination 192.168.0.5

като 6881:6889 са портовете по подразбиране на които слушат торент клиентите ти съответно ше ги смениш както на теб ти е удобно.
Контакти:  free

  • AOL  AOL:
  • ICQ  ICQ:
  • MSN  MSN:
  • YIM  Yahoo IM:
WEB  
Мнение #3 Skip to the next post in this topic.
Skip to the previous post in this topic. Написано на: Март 08 2007, 14:38
Нерегистриран










И малко допълнение :
Код: 
iptables -A FORWARD -p tcp -i eth0 --dport 6881:6889
-d 192.168.0.21 -j ACCEPT
Контакти:  free

  • AOL  AOL:
  • ICQ  ICQ:
  • MSN  MSN:
  • YIM  Yahoo IM:
WEB  
Мнение #4 Skip to the next post in this topic.
Skip to the previous post in this topic. Написано на: Март 08 2007, 14:39
tolostoi

Avatar




Група: Li maniacs
Мнения: 869
Регистриран: Юли 2006

Оценка: 5

Offline
Цитат:  (Guest @ Март 08 2007,13:58)

iptables -t nat -A POSTROUTING -p tcp -o eth0 -j SNAT --to-source 194.236.50.155-194.236.50.160:1024-32000

това правило не разбрах за какво е,а за торентите пренасочвам за всяко IP определен брой, по начина който си ми описал ? За портовете по подразбиране на :
ICQ & AIM File Transfers Ports: 5000 to 5100
MSN Messenger File Transfers Ports: 6891 to 6900 това открих и на една
страничка си генерирах Firewall но много излишни неща има там (и сложен ми се вижда) ще гледам да извадя което ми трябва от него и да го ползвам, това ми генерира а за Скайп и Yahoo портовете ?

Мнение #5 Skip to the next post in this topic.
Skip to the previous post in this topic. Написано на: Март 08 2007, 15:25
Нерегистриран










Принципно за това правило съм чел в туториал за iptables
че е препоръчително да се ползва,когато адресите на вътршната мрежа са статични,вместо маскиране.
То не пречи и маскиране да ползваш и SNAT.
Само трябва да си зададеш адресите от твоята мрежа примерно 192.168.0.10-192.168.0.20.
За генератора знам от преди 3 години поне :) удобен е за
ред хат но може да се преправи целият скрипт за всяка дистрибуция :)
Лошото е че генерира излишен текст разкарай описателната част ако ти се струва голям като размер :)
Контакти:  free

  • AOL  AOL:
  • ICQ  ICQ:
  • MSN  MSN:
  • YIM  Yahoo IM:
WEB  
Мнение #6 Skip to the next post in this topic.
Skip to the previous post in this topic. Написано на: Март 08 2007, 15:37
Нерегистриран










А бе най-добре си е да се ползват портове от 49152:65535
за торент клиентите.
А пък за този началния скрипт ти се чудя защо
INPUT,OUTPUT,FORWARD и прочеее са ти ACCEPT ?!
Контакти:  free

  • AOL  AOL:
  • ICQ  ICQ:
  • MSN  MSN:
  • YIM  Yahoo IM:
WEB  
Мнение #7 Skip to the next post in this topic.
Skip to the previous post in this topic. Написано на: Март 08 2007, 16:18
tolostoi

Avatar




Група: Li maniacs
Мнения: 869
Регистриран: Юли 2006

Оценка: 5

Offline
Цитат:  (Guest @ Март 08 2007,15:37)

А пък за този началния скрипт ти се чудя защо
INPUT,OUTPUT,FORWARD и прочеее са ти ACCEPT ?!

Идеята е като се зареди първоначално да изчисти правилата, които евентуално преди това е имало (не знам дали правилно) и след това да се зададе политика.
А за генератора не ме притесняват коментиранете редове, той е със зареждане на модули,включване на рутиране и още други неща които не са ми нужни, мислех да ползвам само някой редове от него. Има ли нещо нередно във Firewall-a в началото на темата, ако ОК да го заредя и вече да се допълва само ?

Мнение #8 Skip to the next post in this topic.
Skip to the previous post in this topic. Написано на: Март 08 2007, 16:37
Нерегистриран










Хъх ами в този генерирания скрипт се изчистват в началото веригите.
И не е лошо да си оставиш ssh но само от вътрешната мрежа.Няма всеки път когато правиш ъпдейти по системата да разкачваш клавиатури и монитори. :)

Код: 
iptables -N SSHDENY
iptables -I INPUT -i eth0 -p tcp -m state --state NEW,INVALID
--dport 10222 -j SSHDENY
iptables -A INPUT -i eth0 -p tcp -m state --state NEW -s 192.168.0.0/24 -d 230.114.223.245 -d 10222 -j ACCEPT


Поправяш си /etc/ssh/ssh_config порта да ти е 10222, протокола да ти е 2,а не всеки път да пишеш от отдалечен
компютър : ssh -2  edikoisi@edikvosi.com
Контакти:  free

  • AOL  AOL:
  • ICQ  ICQ:
  • MSN  MSN:
  • YIM  Yahoo IM:
WEB  
Мнение #9 Skip to the next post in this topic.
Skip to the previous post in this topic. Написано на: Март 08 2007, 16:39
Нерегистриран










EDIT:
Код: 
iptables -N SSHDENY
iptables -I INPUT -i eth0 -p tcp -m state --state NEW,INVALID
--dport 10222 -j SSHDENY
iptables -A INPUT -i eth0 -p tcp -m state --state NEW -s 192.168.0.0/24 -d 230.114.223.245 --dport 10222 -j ACCEPT
Контакти:  free

  • AOL  AOL:
  • ICQ  ICQ:
  • MSN  MSN:
  • YIM  Yahoo IM:
WEB  
Мнение #10
Skip to the previous post in this topic. Написано на: Март 08 2007, 16:51
tolostoi

Avatar




Група: Li maniacs
Мнения: 869
Регистриран: Юли 2006

Оценка: 5

Offline
Еми аз ssh го ползвам само от вътрешната мрежа и мислех, че ако не разреша порт 22, пак ще мога да влизам от вътрешната мрежа, но не и от интернет. То май от цялата тема това беше най-важното, идеята чрез изпълняването на скрипта fire да не се прецака връзката по ssh защото рутера дори не в къщи.

Общо 13 отговор(а) от Март 08 2007, 11:38 до сега
 » Начало » Li Форуми » Help & Support » Networking » iptables помощ за firewall

© 2014 Linux Index Project
Powered by iF 1.0.0 © 2006 ikonForums