Twoje PC  
Zarejestruj się na Twoje PC
TwojePC.pl | PC | Komputery, nowe technologie, recenzje, testy
B O A R D
   » Board
 » Zadaj pytanie
 » Archiwum
 » Szukaj
 » Stylizacja

 
M E N U
  0
 » Nowości
0
 » Archiwum
0
 » Recenzje / Testy
0
 » Board
0
 » Rejestracja
0
0
 
Szukaj @ TwojePC
 

w Newsach i na Boardzie
 
OBECNI NA TPC
 
 » McMi21 19:41
 » SebaSTS 19:37
 » rooter666 19:37
 » Sociu 19:36
 » bieniek 19:35
 » ProSavage 19:34
 » Promilus 19:34
 » Flo 19:32
 » Conan Bar 19:31
 » rzymo 19:25
 » Kenny 19:25
 » havranek 19:22
 » MARtiuS 19:21
 » NimnuL 19:17
 » McWandal 19:12
 » Dexter 19:11
 » rurecznik 19:04
 » biEski 19:03
 » Fl@sh 18:58
 » Kilgor 18:57

 Dzisiaj przeczytano
 41117 postów,
 wczoraj 25974

 Szybkie ładowanie
 jest:
włączone.

 
ccc
TwojePC.pl © 2001 - 2024
A R C H I W A L N A   W I A D O M O Ś Ć
    

[Linux] Iptables routing, czego nie mam załadowanego ? , carlosA 19/08/04 00:09
Osoby dramatu:
1. RH 9.1
2. iptables

Postawiłem sobie routerek, skonfigurowałem modem na usb (speedtouch 330), net śmiga, jednak mam problemy z maskaradą, o tyle, że nie wiem który moduł (prawdopodobnie) jest za to odpowiedzialny. Otóż:

iptables -A PREROUTING -s 192.168.0.0/255.255.255.0 -j MASQUERADE

daje mi w wyniku:
No chain/target by that name

ip_forward przestawiałem ręcznie poprzez:
sysctl -w net.ipv4.ip_forward=1

przeszukałem net, ale dla tego konkretnego łańcucha nic nie znalazłem.

iptables -t nat -L pokazuje mi puste łańcuchy: POSTROUTING, PREROUTING, OUTPUT (w/w string próbowałem również wpisywać dla POSTROUTING)

Pomocy.

#whatever

  1. Ja mam skrypt maskarady taki gdzie 111.222.333.444 to Twoje IP , Glock19 19/08/04 00:18
    #! /bin/sh
    #zaladowanie modulow NAT
    /sbin/modprobe ip_tables
    /sbin/modprobe ip_conntrack
    /sbin/modprobe ip_conntrack_ftp
    /sbin/modprobe ip_nat_ftp
    echo "Zaladowanie modulow NAT..."
    #---------------------------------------------------------------------------------
    #zezwol na forwardowanie pakietow
    echo 1 > /proc/sys/net/ipv4/ip_forward
    echo "Zezwolilem na fowardowanie pakietow..."
    #---------------------------------------------------------------------------------
    #czyszczenie regolek
    iptables -F
    iptables -F -t nat
    iptables -t nat -F POSTROUTING
    iptables -t nat -F PREROUTING
    iptables -F INPUT
    iptables -F FORWARD
    iptables -F OUTPUT
    echo "iptables czyste..."
    #---------------------------------------------------------------------------------
    # Domyslnie nie przepuszczamy nic
    iptables -P INPUT DROP
    iptables -P FORWARD DROP
    iptables -P OUTPUT DROP
    echo "Zblokowane Wszystko..."
    #---------------------------------------------------------------------------------
    #uruchomienie NAT
    echo "Uruchamiam NAT i maskarade..."
    iptables -t nat -I POSTROUTING -s 192.168.0.2 -j SNAT --to-source 111.222.333.444
    iptables -t nat -I POSTROUTING -s 192.168.0.3 -j SNAT --to-source 111.222.333.444
    iptables -t nat -I POSTROUTING -s 192.168.0.4 -j SNAT --to-source 111.222.333.444
    iptables -t nat -I POSTROUTING -s 192.168.0.5 -j SNAT --to-source 111.222.333.444
    #iptables -t nat -I POSTROUTING -s 192.168.0.6 -j SNAT --to-source 111.222.333.444
    #iptables -t nat -I POSTROUTING -s 192.168.0.7 -j SNAT --to-source 111.222.333.444
    #%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    #i tak przez tylu userkow ilu jest w sieci... %
    #wyhaszowanie linijki z danym IP lokalnym odcina userka od netu %
    #%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    echo "NAT odpalony..."
    #---------------------------------------------------------------------------------
    # Interfejs lokalny ma specjalne prawa
    iptables -A INPUT -i lo -j ACCEPT
    iptables -A OUTPUT -o lo -j ACCEPT
    iptables -A FORWARD -o lo -j ACCEPT
    #---------------------------------------------------------------------------------
    # Wpuszczamy wszystko z sieci lokalnej i wypuszczamy
    # wszystko na nia. Nie nalezy dodawac tutaj analogicznej
    # regulki dla FORWARD, to zalatwi za nas modul state
    #iptables -A INPUT -i eth1 -j ACCEPT
    #iptables -A OUTPUT -o eth1 -j ACCEPT
    #---------------------------------------------------------------------------------
    # Logujemy pakiety wyblokowane przez modul unclean
    # *** Tymczasowo wylaczone z powodu problemow z unclean w Linuxie 2.4.6
    #iptables -A INPUT -j LOG -m limit --limit 10/hour -m unclean
    #iptables -A INPUT -j DROP -m unclean
    #iptables -A OUTPUT -j LOG -m limit --limit 10/hour -m unclean
    #iptables -A OUTPUT -j DROP -m unclean
    #iptables -A FORWARD -j LOG -m limit --limit 10/hour -m unclean
    #iptables -A FORWARD -j DROP -m unclean
    #---------------------------------------------------------------------------------
    # Odrzucamy z komunikatem ICMP Port Unreachable polaczenia
    # na IDENT oraz SOCKS (czesto sprawdzane przez serwery IRC)
    iptables -A INPUT -p tcp --dst 0/0 --dport 113 -j REJECT --reject-with icmp-port-unreachable
    iptables -A INPUT -p tcp --dst 0/0 --dport 1080 -j REJECT --reject-with icmp-port-unreachable
    #---------------------------------------------------------------------------------
    # Akceptujemy pakiety ICMP Echo (ping) wchodzace i wychodzace
    # Akceptacja odpowiedzi jest realizowana przez modul state RELATED
    iptables -A INPUT -p icmp --icmp-type echo-request -j ACCEPT
    iptables -A FORWARD -p icmp --icmp-type echo-request -j ACCEPT
    echo "Zakceptowalem pingi..."
    #---------------------------------------------------------------------------------
    # Zezwalamy na wszystko co odbywa sie w ramach juz dozwolonych
    # polaczen.
    echo "Zezwalam na polaczenia juz dozwolone"
    iptables -A INPUT -p tcp -j ACCEPT -m state --state ESTABLISHED
    iptables -A INPUT -p udp -j ACCEPT -m state --state ESTABLISHED
    iptables -A INPUT -p icmp -j ACCEPT -m state --state ESTABLISHED
    iptables -A INPUT -p icmp -j ACCEPT -m state --state RELATED
    iptables -A FORWARD -p tcp -j ACCEPT -m state --state ESTABLISHED
    iptables -A FORWARD -p tcp -j ACCEPT -m state --state RELATED
    iptables -A FORWARD -p udp -j ACCEPT -m state --state ESTABLISHED
    iptables -A FORWARD -p icmp -j ACCEPT -m state --state ESTABLISHED
    iptables -A FORWARD -p icmp -j ACCEPT -m state --state RELATED
    iptables -A OUTPUT -p tcp -j ACCEPT -m state --state ESTABLISHED
    iptables -A OUTPUT -p tcp -j ACCEPT -m state --state RELATED
    iptables -A OUTPUT -p udp -j ACCEPT -m state --state ESTABLISHED
    iptables -A OUTPUT -p icmp -j ACCEPT -m state --state ESTABLISHED
    iptables -A OUTPUT -p icmp -j ACCEPT -m state --state RELATED
    echo "Zezwolilem na polaczenia juz dozwolone..."
    #---------------------------------------------------------------------------------
    # Indywidualne regulki akceptujace okreslone porty lub serwery
    # Zalecana jest jak najwieksza szczegolowosc tych regulek,
    # w razie problemow nalezy posilkowac sie regulkami LOG
    #podzial na czesci uslug TCP musialem wprowadzic z powodu nalozenia limitow portow
    #podczas jednego wywolania iptables.
    echo "Uruchamiam uslugi TCP/UDP"
    # Uslugi TCP, dozwolone-czesc 1sza.
    # 80&8080&8000-(WWW),21&20-(FTP),25-(SMTP),119-(news),53-(DNS),110-(pop3)
    # 8888-(Napster),,81&443(HTTPS)
    TCP_OUT_ALLOW=80,8080,21,20,25,53,119,8888,6667,110,81,443,8000,3306
    # Uslugi UDP: 123-(NTP),53-(DNS),81&443(HTTPS),80&8080&8000-(WWW),21&20-(FTP)
    UDP_OUT_ALLOW=123,53,81,443,80,8080,8000,21,20,3306
    iptables -A INPUT -p tcp -j ACCEPT -m state --state NEW -m multiport --destination-port $TCP_OUT_ALLOW
    iptables -A INPUT -p udp -j ACCEPT -m state --state NEW -m multiport --destination-port $UDP_OUT_ALLOW
    iptables -A OUTPUT -p tcp -j ACCEPT -m state --state NEW -m multiport --destination-port $TCP_OUT_ALLOW
    iptables -A OUTPUT -p udp -j ACCEPT -m state --state NEW -m multiport --destination-port $UDP_OUT_ALLOW
    iptables -A FORWARD -p tcp -j ACCEPT -m state --state NEW -m multiport --destination-port $TCP_OUT_ALLOW
    iptables -A FORWARD -p udp -j ACCEPT -m state --state NEW -m multiport --destination-port $UDP_OUT_ALLOW
    echo "Uruchomilem uslugi TCP/UDP[cz.1]..."
    #%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    # Uslugi TCP, dozwolone-czesc 2ga.
    # 67-(inicjacja udp),28960-(Call Of Duty),15101-(SOF),14011,14012-(Czateria),2064-(distributed.net),706-(SILC),5222-(Jabber),137,139-(Samba)
    TCP_OUT_ALLOW1=28960,15101,14011,14012,8000,2064,706,5222,20500,20510,137,139,6667
    # Uslugi UDP:
    # 67-(inicjacja udp),28960-(Call Of Duty),15101-(SOF),14011,14012-(Czateria),2064-(distributed.net),706-(SILC),5222-(Jabber)
    UDP_OUT_ALLOW1=28960,15101,14011,14012,8000,2064,706,5222,20500,20510,137,139,6667
    iptables -A INPUT -p tcp -j ACCEPT -m state --state NEW -m multiport --destination-port $TCP_OUT_ALLOW1
    iptables -A INPUT -p udp -j ACCEPT -m state --state NEW -m multiport --destination-port $UDP_OUT_ALLOW1
    iptables -A OUTPUT -p tcp -j ACCEPT -m state --state NEW -m multiport --destination-port $TCP_OUT_ALLOW1
    iptables -A OUTPUT -p udp -j ACCEPT -m state --state NEW -m multiport --destination-port $UDP_OUT_ALLOW1
    iptables -A FORWARD -p tcp -j ACCEPT -m state --state NEW -m multiport --destination-port $TCP_OUT_ALLOW1
    iptables -A FORWARD -p udp -j ACCEPT -m state --state NEW -m multiport --destination-port $UDP_OUT_ALLOW1
    echo "Uruchomilem uslugi TCP/UDP[cz.2]..."
    #-------------------------------------------------------------------------------
    echo "Uruchamiam uslugi p2p"
    #%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    #Dozwolone porty p2p
    #*Aurueus[Torrent]:6881-6889
    #*DC++:1403
    #*Emule:tcp-4662,udp-4672
    TCP_P2P=6881,6882,6883,6884,6885,6886,6887,6888,6889,1403,6969,6891
    UDP_P2P=6881,6882,6883,6884,6885,6886,6887,6888,6889,1403,6969,6891
    iptables -A INPUT -p tcp -j ACCEPT -m state --state NEW -m multiport --destination-port $TCP_P2P
    iptables -A INPUT -p udp -j ACCEPT -m state --state NEW -m multiport --destination-port $UDP_P2P
    iptables -A OUTPUT -p tcp -j ACCEPT -m state --state NEW -m multiport --destination-port $TCP_P2P
    iptables -A OUTPUT -p udp -j ACCEPT -m state --state NEW -m multiport --destination-port $UDP_P2P
    iptables -A FORWARD -p tcp -j ACCEPT -m state --state NEW -m multiport --destination-port $TCP_P2P
    iptables -A FORWARD -p udp -j ACCEPT -m state --state NEW -m multiport --destination-port $UDP_P2P
    echo "Uruchomilem uslugi p2p[cz.1]..."
    #%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    #Dozwolone porty p2p
    #*Aurueus[Torrent]:6881-6889
    #*g3[Torrent]
    #*DC++:1403
    #*Emule:tcp-4662,udp-4672
    TCP_P2P1=4661,4662,57503,2710,89,81,2004,7007,9000
    UDP_P2P1=4661,4672,57503,2710,89,81,2004,7007,9000
    iptables -A INPUT -p tcp -j ACCEPT -m state --state NEW -m multiport --destination-port $TCP_P2P1
    iptables -A INPUT -p udp -j ACCEPT -m state --state NEW -m multiport --destination-port $UDP_P2P1
    iptables -A OUTPUT -p tcp -j ACCEPT -m state --state NEW -m multiport --destination-port $TCP_P2P1
    iptables -A OUTPUT -p udp -j ACCEPT -m state --state NEW -m multiport --destination-port $UDP_P2P1
    iptables -A FORWARD -p tcp -j ACCEPT -m state --state NEW -m multiport --destination-port $TCP_P2P1
    iptables -A FORWARD -p udp -j ACCEPT -m state --state NEW -m multiport --destination-port $UDP_P2P1
    echo "Uruchomilem uslugi p2p[cz.2]..."
    #---------------------------------------------------------------------------------
    #zezwalam na polaczenie ssh oraz telnet TYLKO z mojego "bezpiecznego" hosta
    iptables -A INPUT -s 192.168.0.4 -p tcp --dport 22 -j ACCEPT
    iptables -A INPUT -s 192.168.0.4 -p tcp --dport 23 -j ACCEPT
    echo "Zezwalam na polaczenia ssh oraz Telnet z bezpiecznego hosta..."
    #---------------------------------------------------------------------------------
    #Zablokowanie pakietów z ustawionym bitem SYN[z wyj±tkiem naszego zaufanego hosta]
    iptables -A INPUT -p tcp -s ! 192.168.0.4 --syn -j DROP
    echo "Zablokowalem pakiety z bitem SYN..."
    #-------------------------------------------------------------------------------
    #Logujemy pakiety ktore nie zostaly zaakceptowane przez
    #zadna z powyzszych regulek. Zostana one wyblokowane dzieki
    #polityce DROP we wszystkich tablicach
    iptables -A INPUT -j LOG -m limit --limit 10/hour
    iptables -A OUTPUT -j LOG -m limit --limit 10/hour
    iptables -A FORWARD -j LOG -m limit --limit 10/hour
    echo "Loguje pakiety odrzucone - zblokowane w polityce DROP"
    #------------------------------------------------------------------------------
    #wlasciwe przekierowanie portow [dla programow p2p]
    echo "Uruchamiam przekierowanie portów..."
    #%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    #192.168.0.2
    #iptables -A PREROUTING -t nat -p tcp -m multiport -d 111.222.333.444 --dport $TCP_P2P -j DNAT --to 192.168.0.2
    #iptables -A PREROUTING -t nat -p udp -m multiport -d 111.222.333.444 --dport $UDP_P2P -j DNAT --to 192.168.0.2
    #iptables -A PREROUTING -t nat -p tcp -m multiport -d 111.222.333.444 --dport $TCP_P2P1 -j DNAT --to 192.168.0.2
    #iptables -A PREROUTING -t nat -p udp -m multiport -d 111.222.333.444 --dport $UDP_P2P1 -j DNAT --to 192.168.0.2
    #echo "Przekierowano porty dla IP[192.168.0.2]..."
    #%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    #192.168.0.3
    #iptables -A PREROUTING -t nat -p tcp -m multiport -d 111.222.333.444 --dport $TCP_P2P -j DNAT --to 192.168.0.3
    #iptables -A PREROUTING -t nat -p udp -m multiport -d 111.222.333.444 --dport $UDP_P2P -j DNAT --to 192.168.0.3
    #iptables -A PREROUTING -t nat -p tcp -m multiport -d 111.222.333.444 --dport $TCP_P2P1 -j DNAT --to 192.168.0.3
    #iptables -A PREROUTING -t nat -p udp -m multiport -d 111.222.333.444 --dport $UDP_P2P1 -j DNAT --to 192.168.0.3
    #echo "Przekierowano porty dla IP[192.168.0.3]..."
    #%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    #192.168.0.4
    iptables -A PREROUTING -t nat -p tcp -m multiport -d 111.222.333.444 --dport $TCP_P2P -j DNAT --to 192.168.0.4
    iptables -A PREROUTING -t nat -p udp -m multiport -d 111.222.333.444 --dport $UDP_P2P -j DNAT --to 192.168.0.4
    iptables -A PREROUTING -t nat -p tcp -m multiport -d 111.222.333.444 --dport $TCP_P2P1 -j DNAT --to 192.168.0.4
    iptables -A PREROUTING -t nat -p udp -m multiport -d 111.222.333.444 --dport $UDP_P2P1 -j DNAT --to 192.168.0.4
    echo "Przekierowano porty dla IP[192.168.0.4]..."
    #%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    #192.168.0.5
    #iptables -A PREROUTING -t nat -p tcp -m multiport -d 111.222.333.444 --dport $TCP_P2P -j DNAT --to 192.168.0.5
    #iptables -A PREROUTING -t nat -p udp -m multiport -d 111.222.333.444 --dport $UDP_P2P -j DNAT --to 192.168.0.5
    #iptables -A PREROUTING -t nat -p tcp -m multiport -d 111.222.333.444 --dport $TCP_P2P1 -j DNAT --to 192.168.0.5
    #iptables -A PREROUTING -t nat -p udp -m multiport -d 111.222.333.444 --dport $UDP_P2P1 -j DNAT --to 192.168.0.5
    #echo "Przekierowano porty dla IP[192.168.0.5]..."
    #%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    #192.168.0.6
    #iptables -A PREROUTING -t nat -p tcp -m multiport -d 111.222.333.444 --dport $TCP_P2P -j DNAT --to 192.168.0.6
    #iptables -A PREROUTING -t nat -p udp -m multiport -d 111.222.333.444 --dport $UDP_P2P -j DNAT --to 192.168.0.6
    #iptables -A PREROUTING -t nat -p tcp -m multiport -d 111.222.333.444 --dport $TCP_P2P1 -j DNAT --to 192.168.0.6
    #iptables -A PREROUTING -t nat -p udp -m multiport -d 111.222.333.444 --dport $UDP_P2P1 -j DNAT --to 192.168.0.6
    #echo "Przekierowano porty dla IP[192.168.0.6]..."
    echo "Porty przekierowane..."
    #---------------------------------------------------------------------------------
    echo "ALL DONE"
    echo "MaTriX Has You"

  2. zacząłem kombinować i znalazłem rozwiązanie.. , carlosA 19/08/04 00:30
    iptables -t nat -A POSTROUTING -o ppp0 -j MASQUERADE
    i działa, jednak nadal pozostaje dla mnie tajemnicą dlaczego:
    iptables -A PREROUTING -s 192.168.0.0/255.255.255.0 -j MASQUERADE, nie działa, zważywszy na fakt, że w innym miejscu działa.
    1. Albo stanowi różnice, że na tamtym łączu jest modem na RJ-45 (ale też neo+)
    2. Albo tak duże różnice zaszły pomiędzy iptables (nie pamiętam wersji, ale niewielka różnica) pomiędzy wersjami RH 8 i 9 (chociaż z tego co pamiętam jajko przeszło tylko 2.4.18 na 2.4.20)

    #whatever

  3. mam iptables 1.2.11 na jajku 2.6.7-3 , Glock19 19/08/04 00:32
    na PLD ofkz

  4. odpowiedz na to pytanie znajdziesz , josh 19/08/04 12:57
    miedzy innymi tutaj:
    http://iptables-tutorial.frozentux.net/...ial.html

    cytuje z rozdzialu:
    6.5.6. MASQUERADE target

    "Note that the MASQUERADE target is only valid within the POSTROUTING chain in the nat table, just as the SNAT target."

    Sproboj takze zrozumiec dlaczego MASQUARADE i SNAT nie maja zastosowania na przyklad w PREROUTING.

  5. gdyby tak sie zastanowic , Yoghurt 19/08/04 13:05
    co robi maskarada i jak wedruje pakiet przez boxa linuchowego. w uproszczeniu - wpada sobie pakiet z sieci 192.168.1.0/24 do twojego linucha i najpierw jest w PREROUTINGU (logiczne, najpierw tutaj sie pojawi). tutaj zostanie podjeta decyzja co z nim dalej zrobic, jesli wlaczyles routing w jadrze systemu to pakiet ten poleci sobie do FORWARD. tutaj jesli domyslna polityka jest ACCEPT albo sa odpowiednie regulki to pakiet poleci sobie dalej i wpadnie do POSTROUTINGU... i juz bedzie mial opuscic twojego linucha ale nagle, kuku! w internecie nie moze pojawic sie adres nieroutowalny (192.168.1.0/24) wiec trzeba ten adres zmienic - i tutaj wkracza do dziela SNAT albo maskarada (ktora swoja droga jest szczegolnym przypadkiem SNAT'u). czyli jak sama nazwa wskazuje dokonaj translacji adresu zrodlowego (SOURCE NAT). pamietaj jeszcze ze musisz miec zaladowany modul do maskarady (albo wkompilowany w jadro)

    root is a state of mind

    
All rights reserved ® Copyright and Design 2001-2024, TwojePC.PL