Freesco, NND, CDN, EOS

http://www.freesco.pl
Dzisiaj jest poniedziałek, 16 czerwca 2025, 13:14

Strefa czasowa UTC+2godz.




Nowy temat Odpowiedz w temacie  [ Posty: 10 ] 
Autor Wiadomość
Post: środa, 6 sierpnia 2003, 16:02 
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.. ;) tzn. firewall. Nadajemy mu artybut wykonywalny poleceniem 'chmod 744 /etc/init.d/firewall'

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.


Ostatnio zmieniony niedziela, 14 września 2003, 00:51 przez Anonymous, łącznie zmieniany 15 razy

Na górę
  
 
 Tytuł:
Post: czwartek, 11 września 2003, 02:28 
Troche zaktualizowalem moj maly poradnik ;). Teraz jest bardziej logicznie skonstruowany i latwiej trafi do mas ;>.


Na górę
  
 
 Tytuł:
Post: czwartek, 11 września 2003, 10:59 
Offline
PGF

Rejestracja: niedziela, 14 lipca 2002, 14:33
Posty: 3234
Lokalizacja: Radziejów
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 :), ale w iptables może być inaczej.


Na górę
 Wyświetl profil  
 
 Tytuł:
Post: czwartek, 11 września 2003, 13:10 
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.. 8)

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 :D ale dzieki za pomoc - za moment poprawie

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" :(. troche męczyłem się z tym draństwem i nie mogłem dojsc dlaczego firewall nie startuje poprawnie.. dopiero olsnilo mnie zeby uspic go na chwile az ppp0 pojawi sie w ifconfig.. i od tej pory dziala.. oczywiscie gdy ip statycznie to smialo mozna 'sleep' usunac.

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 :), ale w iptables może być inaczej.

ja niestety nie wiem jak jest w ipfwadm :) ale w iptables z tego co wiem wystarczy jedynie kontrolowac ruch dla ppp0.


Na górę
  
 
 Tytuł:
Post: czwartek, 11 września 2003, 14:39 
Offline
PGF

Rejestracja: niedziela, 14 lipca 2002, 14:33
Posty: 3234
Lokalizacja: Radziejów
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 :idea:

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


Na górę
 Wyświetl profil  
 
 Tytuł:
Post: czwartek, 11 września 2003, 21:29 
: [/] [] ()
$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 :roll:. i tak samo maskarade..

: [/] [] ()
$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.. :)

w przekierowaniach zewn. ip (-d $EXTIP) da sie zamienic na zewn. internfejs (-i $EXTIF -s ! $INTNET) i tez bedzie dzialac

heh.. udalo sie 8) zaraz skrypt wyedytuje..


Na górę
  
 
 Tytuł:
Post: czwartek, 11 września 2003, 21:41 
Offline
PGF

Rejestracja: niedziela, 14 lipca 2002, 14:33
Posty: 3234
Lokalizacja: Radziejów
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 :) bo co do tego ma drugi interfejs ?

$IPTABLES -A OUTPUT -o $INTIF -d $INTNET -j ACCEPT


Na górę
 Wyświetl profil  
 
 Tytuł:
Post: czwartek, 11 września 2003, 21:59 
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 :) bo co do tego ma drugi interfejs ?

$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 ;) .. chyba zeby wlasny lan atakowal i podszywal sie pod inne ip.. :roll: zmienie..


Na górę
  
 
Post: sobota, 22 listopada 2003, 23:35 
Offline

Rejestracja: piątek, 21 lutego 2003, 22:41
Posty: 53
Lokalizacja: Kraków
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+ :?:


Na górę
 Wyświetl profil  
 
 Tytuł:
Post: poniedziałek, 24 listopada 2003, 20:29 
pierwsza linia wpisuje do pliku ip_foward liczbe 1 8)..a jak to dziala..no chyba odpowiada za wlaczenie lancucha forward w iptables. bez lancuszka forward nie bedzie dzialac maskarada.
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 ;)


Na górę
  
 
Wyświetl posty nie starsze niż:  Sortuj wg  
Nowy temat Odpowiedz w temacie  [ Posty: 10 ] 

Strefa czasowa UTC+2godz.


Kto jest online

Użytkownicy przeglądający to forum: Obecnie na forum nie ma żadnego zarejestrowanego użytkownika i 10 gości


Nie możesz tworzyć nowych tematów
Nie możesz odpowiadać w tematach
Nie możesz zmieniać swoich postów
Nie możesz usuwać swoich postów
Nie możesz dodawać załączników

Szukaj:
Przejdź do:  
cron
Technologię dostarcza phpBB® Forum Software © phpBB Group
Hosting: Compus-Net
RobertKonik.pl