Freesco, NND, CDN, EOS http://forum.freesco.pl/ |
|
Najbardziej laicki opis porządnej maskarady w Debianie ;) http://forum.freesco.pl/viewtopic.php?f=8&t=2521 |
Strona 1 z 1 |
Autor: | Anonymous [ środa, 6 sierpnia 2003, 16:02 ] |
Tytuł: | Najbardziej laicki opis porządnej maskarady w Debianie ;) |
opis zedytowany, ulepszony, zakutalizowany, dopieszczony etc... (tamten był do dupy ![]() To coś w sam raz dla Neostradowiczow z modemem lucenta - takich jak ja - ale gladko pojdzie na wszystkim co ma interfejs ppp0 ![]() Instalować wpierwej pakiet MC (cos a'la norton commander). Ulatwi to nam przedzieranie sie przez mnoga ilosc katalogow.. "apt-get install mc" 1. Konfiguracja połączenia ppp Wchodzimy do /usr/sbin i uruchamiamy pppoeconf - bardzo ladny program konfiguracyjny dla tych co nie lubia edycji plikow tekstowych 2. Stworzymy w katalogu /etc/init.d poleceniem 'touch nazwa_pliku' plik o dowolnej nazwie, np. du.. ![]() Ważniejsze założenia przyjęte w tym przecudownym pliku ( w razie różnic należy je zmienić bo nie bedzie dzialac ;p ) - neostrada podlaczona do pierwszej karty sieciowej (eth0) jako interfejs ppp0 - druga karta sieciowa (eth1) podłączona do naszego lan'u - numer IP naszej sieci to 192.168.0.0 - numer IP serwera to 192.168.0.1 Teraz wklejamy caly ten syf w plik w 'firewall' a jesli konieczne to go edytujemy.. [do wklejania przyda nam się program z obsługą telnetu lub ssh, np. ZOC(wymaga małej konfiguracji) lub PuTTY. Albo... mozna podlaczyc sie do serwera przez ftp i tak wyedytowac. ![]() #!/bin/sh echo -e "\nFirewall - Uruchamianie.\n" # Tu dajemy wlasciwe sciezki do plikow IPTABLES=/sbin/iptables GREP=/bin/grep IFCONFIG=/sbin/ifconfig # Interfejs zewnetrzny (INTERNET). EXTIF="ppp0" # Interfejs wewnetrznej sieci (LAN) INTIF="eth1" echo " Zewnetrzny Interfejs: $EXTIF" echo " Wewnetrzny Interfejs: $INTIF" # zewnetrzne ip.. skrypt wyciagajacy ip z ifconfig..narazie zbedne # EXTIP="`$IFCONFIG | grep -A1 $EXTIF | tail -n 1 | cut -d : -f 2 | cut -d ' ' -f 1`" echo " ..." # Adres IP wewn. sieci (LAN) INTNET="192.168.0.0/24" # Adres IP tego komputera w LAN'ie INTIP="192.168.0.1" echo " Wewnetrzna Siec: $INTNET" echo " Wewnetrzne IP: $INTIP" echo " ..." UNIVERSE="0.0.0.0/0" # --- --- --- --- --- echo "1" > /proc/sys/net/ipv4/ip_forward echo "1" > /proc/sys/net/ipv4/ip_dynaddr echo " ..." echo " Usuwanie istniejacej konfiguracji i ustawieanie docelowaj polityki.." $IPTABLES -P INPUT DROP $IPTABLES -F INPUT $IPTABLES -P OUTPUT DROP $IPTABLES -F OUTPUT $IPTABLES -P FORWARD DROP $IPTABLES -F FORWARD $IPTABLES -F -t nat if [ -n "`$IPTABLES -L | $GREP drop-and-log-it`" ]; then $IPTABLES -F drop-and-log-it fi $IPTABLES -X $IPTABLES -Z echo " Tworzenie lancucha logujacego z odrzucaniem.." $IPTABLES -N drop-and-log-it $IPTABLES -A drop-and-log-it -j LOG --log-level info $IPTABLES -A drop-and-log-it -j DROP echo -e "\n - Ladowanie regul lancucha wejsciowego (INPUT)" $IPTABLES -A INPUT -i lo -s $UNIVERSE -d $UNIVERSE -j ACCEPT $IPTABLES -A INPUT -i $INTIF -s $INTNET -d $UNIVERSE -j ACCEPT $IPTABLES -A INPUT -i $EXTIF -s $INTNET -d $UNIVERSE -j drop-and-log-it $IPTABLES -A INPUT -i $EXTIF -s $UNIVERSE -m state --state ESTABLISHED,RELATED -j ACCEPT # DHCP $IPTABLES -A INPUT -i $INTIF -p tcp --sport 68 --dport 67 -j ACCEPT $IPTABLES -A INPUT -i $INTIF -p udp --sport 68 --dport 67 -j ACCEPT $IPTABLES -A INPUT -s $UNIVERSE -d $UNIVERSE -j drop-and-log-it echo -e " - Ladowanie regul lancucha wyjsciowego (OUTPUT)" $IPTABLES -A OUTPUT -o lo -s $UNIVERSE -d $UNIVERSE -j ACCEPT $IPTABLES -A OUTPUT -o $INTIF -d $INTNET -j ACCEPT $IPTABLES -A OUTPUT -o $EXTIF -s $UNIVERSE -d $INTNET -j drop-and-log-it $IPTABLES -A OUTPUT -o $EXTIF -d $UNIVERSE -j ACCEPT # DHCP $IPTABLES -A OUTPUT -o $INTIF -p tcp -s $INTIP --sport 67 -d 255.255.255.255 --dport 68 -j ACCEPT $IPTABLES -A OUTPUT -o $INTIF -p udp -s $INTIP --sport 67 -d 255.255.255.255 --dport 68 -j ACCEPT $IPTABLES -A OUTPUT -s $UNIVERSE -d $UNIVERSE -j drop-and-log-it echo -e " - Ladowanie regul lancucha FORWARD" echo -e " - FWD: Przekierowania.." #GOSTEK="192.168.0.5" #$IPTABLES -A PREROUTING -i $EXTIF -s ! $INTNET -t nat -p tcp --dport 6666 -j DNAT --to $GOSTEK:6666 #$IPTABLES -A PREROUTING -i $EXTIF -s ! $INTNET -t nat -p udp --dport 6666 -j DNAT --to $GOSTEK:6666 #$IPTABLES -A FORWARD -i $EXTIF -o $INTIF -p tcp --dport 6666 -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT #$IPTABLES -A FORWARD -i $EXTIF -o $INTIF -p udp --dport 6666 -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT echo " - FWD: Wszystko wyjsc moze, nic samo (bez powiazan) wejsc nie moze.." $IPTABLES -A FORWARD -i $EXTIF -o $INTIF -m state --state ESTABLISHED,RELATED -j ACCEPT $IPTABLES -A FORWARD -i $INTIF -o $EXTIF -j ACCEPT $IPTABLES -A FORWARD -j drop-and-log-it echo " - NAT: Uruchamianie maskarady na interfejsie $EXTIF" $IPTABLES -t nat -A POSTROUTING -o $EXTIF -j MASQUERADE echo -e "Firewall - Uruchomiony.\n" To samo tylko po anglish language znajdziecie w poradniku "Linux IP Masquerade HOWTO" w poblizu 'stronger firewall'. 3. Wpisujemy update-rc.d firewall defaults aby po starcie ppp uruchomil sie firewall. No i gotowe. Restartujemy a polaczenie, firewall i maskarada pięknie działa. |
Autor: | Anonymous [ czwartek, 11 września 2003, 02:28 ] |
Tytuł: | |
Troche zaktualizowalem moj maly poradnik ![]() |
Autor: | zciech [ czwartek, 11 września 2003, 10:59 ] |
Tytuł: | |
Dwie malenkie uwagi. Skoro okreslasz zmienną EXTIF="ppp0" jako interfejs do inetiu, to nalezało by to wykorzystac w linii: EXTIP="`ifconfig | grep -A1 'ppp0' | tail -n 1 | cut -d : -f 2 | cut -d ' ' -f 1`" EXTIP="`ifconfig | grep -A1 $EXTIF | tail -n 1 | cut -d : -f 2 | cut -d ' ' -f 1`" # Adres IP tego komputera w LAN'ie INTIP="192.168.0.1/24" # to adres sieci niestety ![]() W adresach pojedynczych hostów nie nalezy podawac maski lub maskę 32 ![]() INTIP="192.168.0.1" tym sposobem niezaleznie od interfejsów skrypt staje się uniwersalny ![]() nie trzeba czekać 5 sekund. reguły mogą być tworzone dla nieistniejących interfejsów. Gdy sie interfejsy "podniosą", reguły już bedą. W kwestii NEO, nie wiem, czy przypadkiem nie trzeba otworzyc osobno wszelkiego ruchu na dla interfejsu eth0 przez który to dopiero przepłtwa ruch do ppp0 przynajmnie tak musi byc we freesco na ipfwadm ![]() |
Autor: | Anonymous [ czwartek, 11 września 2003, 13:10 ] |
Tytuł: | |
zciech pisze: Dwie malenkie uwagi. Skoro okreslasz zmienną EXTIF="ppp0" jako interfejs do inetiu, to nalezało by to wykorzystac w linii: EXTIP="`ifconfig | grep -A1 'ppp0' | tail -n 1 | cut -d : -f 2 | cut -d ' ' -f 1`" EXTIP="`ifconfig | grep -A1 $EXTIF | tail -n 1 | cut -d : -f 2 | cut -d ' ' -f 1`" juz to poprawiam.. ![]() Cytuj: # Adres IP tego komputera w LAN'ie INTIP="192.168.0.1/24" # to adres sieci niestety ![]() W adresach pojedynczych hostów nie nalezy podawac maski lub maskę 32 ![]() INTIP="192.168.0.1" ten fragment pochodzi z oryginalnego skryptu. nie zmienialem go bo dziala ![]() Cytuj: tym sposobem niezaleznie od interfejsów skrypt staje się uniwersalny ![]() nie trzeba czekać 5 sekund. reguły mogą być tworzone dla nieistniejących interfejsów. Gdy sie interfejsy "podniosą", reguły już bedą. niestety w tym wypadku - przynajmniej w neo i innych polaczeniach z dyn. przydzialem ip - interfejs juz musi byc aktywny inaczej skrypt (EXTIP) nie 'wyciagnie' IP z "ifconfig" ![]() Cytuj: W kwestii NEO, nie wiem, czy przypadkiem nie trzeba otworzyc osobno wszelkiego ruchu na dla interfejsu eth0 przez który to dopiero przepłtwa ruch do ppp0 przynajmnie tak musi byc we freesco na ipfwadm
![]() ja niestety nie wiem jak jest w ipfwadm ![]() |
Autor: | zciech [ czwartek, 11 września 2003, 14:39 ] |
Tytuł: | |
Ideałem byłoby zrezygnowanie w ogóle z EXTIP Bo co sie stanie jak adres IP NEO sie zmieni w czasie pracy serwera? KOnieczny stanie się restart firewala ![]() w tych liniach mozna chyba zrezygnowac z EXTIP $IPTABLES -A INPUT -i $EXTIF -s $UNIVERSE -d $EXTIP -m state --state ESTABLISHED,RELATED -j ACCEPT $IPTABLES -A OUTPUT -o $INTIF -s $EXTIP -d $INTNET -j ACCEPT $IPTABLES -A OUTPUT -o $EXTIF -s $EXTIP -d $UNIVERSE -j ACCEPT Nie wiem czy tu mazna zrezygnowac ? (jeszce nie doszłem do tego zagadniena:) ) trzeba by tu zrobic coś na kształt forward.cfg z freesco #GOSTEK="192.168.0.5" #$IPTABLES -A PREROUTING -t nat -p tcp -d $EXTIP --dport 6666 -j DNAT --to $GOSTEK:6666 #$IPTABLES -A PREROUTING -t nat -p udp -d $EXTIP --dport 6666 -j DNAT --to $GOSTEK:6666 a SNAT mozna zmienić na zwykły NAT # Start maskarady.. :> echo " - NAT: Uruchamianie maskarady na interfejsie $EXTIF" $IPTABLES -t nat -A POSTROUTING -o $EXTIF -j SNAT --to $EXTIP $IPTABLES -t nat -A POSTROUTING -o $EXTIF -j MASQUARADE Ale uczę się dalej o iptables ![]() dodalbym jeszcze to: # wyłączyć ECN (explicit congestion notification) if [ -e /proc/sys/ipv4/tcp_ecn ]; then echo 0 > /proc/sys/net/ipv4/tcp_ecn fi Nie wiem dokładnie o co z tym chodzi, ale właczone przeszkadza ![]() #włączyć zabezpieczenie przed podszywaniem for x in lo $EXTIF $INTIF do echo 1 > /proc/sys/net/ipv4/conf/${x}/rp_filter done |
Autor: | Anonymous [ czwartek, 11 września 2003, 21:29 ] |
Tytuł: | |
$IPTABLES -A INPUT -i $EXTIF -s $UNIVERSE -d $EXTIP -m state --state ESTABLISHED,RELATED -j ACCEPT $IPTABLES -A OUTPUT -o $EXTIF -s $EXTIP -d $UNIVERSE -j ACCEPT chyba bez zbytniej utraty bezpieczenstwa mozna te 2 linie wykastrowac z extip ![]() tego mozna calkiem sie pozbyc - wada: nic z zewn. ip nie pojdzie do lan.. ale da sie chyba bez tego zyc.. ![]() w przekierowaniach zewn. ip (-d $EXTIP) da sie zamienic na zewn. internfejs (-i $EXTIF -s ! $INTNET) i tez bedzie dzialac heh.. udalo sie ![]() |
Autor: | zciech [ czwartek, 11 września 2003, 21:41 ] |
Tytuł: | |
Kod: $IPTABLES -A OUTPUT -o $INTIF -s $EXTIP -d $INTNET -j ACCEPT tego mozna calkiem sie pozbyc - wada: nic z zewn. ip nie pojdzie do lan.. ale da sie chyba bez tego zyc.. Lańcuch OUTPUT dotyczy połaczen wychodzących z serwera a te wychodza zawsze z adresu INTIP ![]() $IPTABLES -A OUTPUT -o $INTIF -d $INTNET -j ACCEPT |
Autor: | Anonymous [ czwartek, 11 września 2003, 21:59 ] |
Tytuł: | |
zciech pisze: Kod:
$IPTABLES -A OUTPUT -o $INTIF -s $EXTIP -d $INTNET -j ACCEPT tego mozna calkiem sie pozbyc - wada: nic z zewn. ip nie pojdzie do lan.. ale da sie chyba bez tego zyc.. Lańcuch OUTPUT dotyczy połaczen wychodzących z serwera a te wychodza zawsze z adresu INTIP ![]() $IPTABLES -A OUTPUT -o $INTIF -d $INTNET -j ACCEPT mysle ze ten fragment zostal tak napisany ze wzgledow bezpieczenstwa aby z serwer nie mogl wyslac pakietow z innym adresem zrodlowym.. malo prawdopodobne aby ktos wykorzystal to do niecnych celow ![]() ![]() |
Autor: | daro [ sobota, 22 listopada 2003, 23:35 ] |
Tytuł: | Proszę o wyjaśnienie |
Cytuj: echo "1" > /proc/sys/net/ipv4/ip_forward
echo "1" > /proc/sys/net/ipv4/ip_dynaddr pierwsze jest to jak mi sie wydaje maskowanie sprzetu a drugie ![]() i czy mozna te dwie linijki wpisac w sekcji frewall w pliku rc.user we freesco pod NEO+ ![]() |
Autor: | Anonymous [ poniedziałek, 24 listopada 2003, 20:29 ] |
Tytuł: | |
pierwsza linia wpisuje do pliku ip_foward liczbe 1 ![]() druga linia ma cos wspolnego z dynamicznym ip.. te opcje stosuje sie chyba tylko dla iptables (pierwsza napewno..) a freesco jedzie na jakims tam ipfwadm ![]() |
Strona 1 z 1 | Strefa czasowa UTC+2godz. |
Powered by phpBB® Forum Software © phpBB Group https://www.phpbb.com/ |