lposadzy Napisano Listopad 25, 2004 Zgłoszenie Share Napisano Listopad 25, 2004 Czy może ktoś mi pomóc w konfiguracji maskarady, mój problem polega na tym że jak chce wejść z kompotera za maskaradą na ftp przez www (anonimowo) lub na lstat to nie mogę wejść. Jak wchodzę na lstat to piszę że http 501 nie zaimplementowano strony, a jak wepne się przed serverem wszystko jest ok. Proszę też o sprawdzeie skryptu, jego poprawności, wszelkie uwagi mile widziane. Uzywam systemu Fedora Core 2 , pliki /etc/sysconfig/iptables jest pusty, wszystkie (_regóły_ → reguły) ORT ładowane są z plki rc.masq (+ reguły do Lstata, ale one nie sprawiają problemu), sieć działa, inetenet jest udostępniony. Mój rc.masq. #!/bin/sh # Siec # eth0 - IP 192.168.0.2 # eth1 - IP 192.168.1.1 # # zasada dzialania iptables # # (PREROUTING - poczatkowa faza firewall, zapada decyzja czy pakiety # beda kierowane do procesu lokalnego, czy gdzie indziej. Jezeli do procesu # lokajnego to przechodzi przez INPUT (wejscia), jezeli pakiet ma jednak trafic # do innej maszyny przechodzi przez FORWALD (filter przekazujacy). # Lancuch OUTPUT (wyjscie) jest wykorzystywany do pakietow generowanych # lokalnie i wysylanych od innych maszyny w sieci. # Kiedy pakiet wychodzi z firewalla musi przejsc jeszcze przez jeden lancuch # zwany POSTROUTING. Pakiety przechodzace przez FORWARD i OUTPUT przechodz # przez ten ostatni lancuch. # -s -zrodlo, -d -miejsce docelowe, -i -interfejs, -p protokol, # -F -czyszczenie, -P -ustawienie domyslnej polityki, -A -dodaje nowa regule, # reszta nie wymaga tlumaczenia) ############################## TU ZACZYNA SIE JAZDA ############################ # uruchamianie przekazywanie pakietow ip echo 1 > /proc/sys/net/ipv4/ip_forward ############################### NAT I FILTROWANIE ############################## # czyszczenie tablicy iptables odpowiedzialnej za nat i za filtrowanie pakietow iptables -F -t nat iptables -X -t nat iptables -F -t filter iptables -X -t filter ############################ FORWARDOWANIE PAKIETOW ############################ # domyslnie odrzucam i nie zezwalam na forwaldowanie pakietow, # zablokowanie wszystkiego iptables -t filter -P FORWARD DROP iptables -t filter -P OUTPUT DROP iptables -t filter -P INPUT DROP ################################ ZABEZPIECZENIA ################################ #wylaczenie odpowiedzi na ping /bin/echo "1" > /proc/sys/net/ipv4/icmp_echo_ignore_all #ochrona przed atakami typu Smurf - czyli blokowaniem komunikatow ICMP #przychodzace z zewnatrz na nasze adresy broadcast /bin/echo "1" > /proc/sys/net/ipv4/icmp_echo_ignore_broadcasts #odrzucanie pakietow "Source route" /bin/echo "0" > /proc/sys/net/ipv4/conf/all/accept_source_route #odrzucanie pakietow "ICMP redirect" mogacych zmienic nasze tablice routingu /bin/echo "0" > /proc/sys/net/ipv4/conf/all/accept_redirects #wylaczenie ochrony przed blednymi pakietami "ICMP error" /bin/echo "1" > /proc/sys/net/ipv4/icmp_ignore_bogus_error_responses #kazdy interfej sieciowy bedzie przyjmowal tylko te pakiety, ktore #znajduja sie w tablicy routingu /bin/echo "1" > /proc/sys/net/ipv4/conf/all/rp_filter #wylaczenia logowania dziwnych (spofed, source routed, redirects) pakietow /bin/echo "1" > /proc/sys/net/ipv4/conf/all/log_martians #################################### MADULY #################################### #ladowanie modulow potrzbnych od obslugi iptables, jezeli mamy usluge #wkompilowana w jadrz pomijami te paragrafy /sbin/modprobe iptable_filter /sbin/modprobe ip_conntrack /sbin/modprobe iptable_nat /sbin/modprobe ipt_MASQUERADE /sbin/modprobe ipt_REDIRECT /sbin/modprobe ip_nat_ftp /sbin/modprobe ip_nat_irc /sbin/modprobe ip_conntrack_ftp /sbin/modprobe ip_conntrack_irc ################################################################################ # zezwalam na to by serwer przepuszczal pakiety ktore wychodza z naszej sieci # lokalnej lub sa do niej przeznaczone ################################## PREROUTING ################################## #emule - odblokowanie portow #user1 iptables -t nat -A PREROUTING -p tcp --dport 4663 -j DNAT --to 192.168.1.3:4663 iptables -t nat -A PREROUTING -p udp --dport 4673 -j DNAT --to 192.168.1.3:4673 #user2 iptables -t nat -A PREROUTING -p tcp --dport 4662 -j DNAT --to 192.168.1.5:4662 iptables -t nat -A PREROUTING -p udp --dport 4672 -j DNAT --to 192.168.1.5:4672 #user3 iptables -t nat -A PREROUTING -p tcp --dport 4667 -j DNAT --to 192.168.1.7:4667 iptables -t nat -A PREROUTING -p udp --dport 4677 -j DNAT --to 192.168.1.7:4677 #azureus - odblokowanie portow #user3 iptables -t nat -A PREROUTING -p tcp --dport 6881 -j DNAT --to 192.168.1.5:6881 iptables -t nat -A PREROUTING -p tcp --dport 6882 -j DNAT --to 192.168.1.5:6882 iptables -t nat -A PREROUTING -p tcp --dport 6883 -j DNAT --to 192.168.1.5:6883 iptables -t nat -A PREROUTING -p tcp --dport 6884 -j DNAT --to 192.168.1.5:6884 iptables -t nat -A PREROUTING -p tcp --dport 6885 -j DNAT --to 192.168.1.5:6885 iptables -t nat -A PREROUTING -p tcp --dport 6886 -j DNAT --to 192.168.1.5:6886 iptables -t nat -A PREROUTING -p tcp --dport 6887 -j DNAT --to 192.168.1.5:6887 iptables -t nat -A PREROUTING -p tcp --dport 6888 -j DNAT --to 192.168.1.5:6888 iptables -t nat -A PREROUTING -p tcp --dport 6889 -j DNAT --to 192.168.1.5:6889 #lstat - wjscie iptables -t mangle -A PREROUTING -p tcp --dport 80 -j MARK --set-mark 1 iptables -t mangle -A PREROUTING -p tcp --dport 10000 -j MARK --set-mark 3 iptables -t mangle -A PREROUTING -p tcp --dport 20:21 -j MARK --set-mark 5 iptables -t mangle -A PREROUTING -p tcp --dport 22 -j MARK --set-mark 7 #ofiara z zaleglym abonamentem #ofiara 3 razy na godzine przekierowana jest na port 88 #ptables -I PREROUTING -t nat -p tcp -s 192.168.1.3 --dport 80 -m limit --limit 3/h -j DNAT --to 192.168.1.1:88 #jak dalej nie placi to #iptables -t nat -I PREROUTING -p tcp -s 192.168.1.3 --dport 80 -j DNAT --to 192.168.1.1:88 #oraz na forward doda #iptables -I FORWARD -s 192.168.1.3 -j DROP #squid iptables -t nat -A PREROUTING -i eth1 -p tcp --dport 80 -j REDIRECT --to-port 8080 ################################### INPUT ###################################### #akceptowanie polaczen juz nawiazanych iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT #akceptowanie echa #iptables -A INPUT -p icmp --icmp-type echo-request -j ACCEPT #eth0 iptables -t filter -A INPUT -s 192.168.0.2 -d 0/0 -j ACCEPT iptables -t filter -A INPUT -d 192.168.0.2 -s 0/0 -j ACCEPT #user1 iptables -t filter -A INPUT -s 192.168.1.3 -m mac --mac-source xx:xx:xx:xx:xx:xx -d 0/0 -j ACCEPT iptables -t filter -A INPUT -d 192.168.1.3 -m mac --mac-source xx:xx:xx:xx:xx:xx -s 0/0 -j ACCEPT #user2 iptables -t filter -A INPUT -s 192.168.1.5 -m mac --mac-source xx:xx:xx:xx:xx:xx -d 0/0 -j ACCEPT iptables -t filter -A INPUT -d 192.168.1.5 -m mac --mac-source xx:xx:xx:xx:xx:xx -s 0/0 -j ACCEPT #user3 iptables -t filter -A INPUT -s 192.168.1.6 -m mac --mac-source xx:xx:xx:xx:xx:xx -d 0/0 -j ACCEPT iptables -t filter -A INPUT -d 192.168.1.6 -m mac --mac-source xx:xx:xx:xx:xx:xx -s 0/0 -j ACCEPT #user4 iptables -t filter -A INPUT -s 192.168.1.7 -m mac --mac-source xx:xx:xx:xx:xx:xx -d 0/0 -j ACCEPT iptables -t filter -A INPUT -d 192.168.1.7 -m mac --mac-source xx:xx:xx:xx:xx:xx -s 0/0 -j ACCEPT #ftp iptables -A INPUT -p tcp --dport 20:21 -j ACCEPT #ssh iptables -A INPUT -p tcp --dport 22 -j ACCEPT #smtp #iptables -A INPUT -p tcp --dport 25 -j ACCEPT #www iptables -A INPUT -p tcp --dport 80 -j ACCEPT #https iptables -A INPUT -p tcp --dport 443 -j ACCEPT #samba #iptables -A INPUT -p tcp -s 192.168.1.0/24 --dport 139 -j ACCEPT #iptables -A INPUT -p tcp -s 192.168.1.0/24 --dport 445 -j ACCEPT #iptables -A INPUT -p udp -s 192.168.1.0/24 --dport 137 -j ACCEPT #blokada reszty iptables -A INPUT -j REJECT #################################### FORWARD ################################## #zabezpieczenia #syn-flood iptables -A FORWARD -p tcp --syn -m limit --limit 1/s -j ACCEPT #skanowanie portow Furtive iptables -A FORWARD -p tcp --tcp-flags SYN,ACK,FIN,RST RST -m limit --limit 1/s -j ACCEPT #ping of death iptables -A FORWARD -p icmp --icmp-type echo-request -m limit --limit 1/s -j ACCEPT # akceptowanie polaczen juz nawiazanych iptables -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT #akceptowanie echa #iptables -A FORWARD -p icmp --icmp-type echo-request -j ACCEPT #forwardowanie pakietow skierowanych do sieci iptables -t filter -A FORWARD -s 192.168.1.0/24 -d 0/0 -j ACCEPT iptables -t filter -A FORWARD -d 192.168.1.0/24 -s 0/0 -j ACCEPT #emule - odblokowanie portow #user1 iptables -A FORWARD -i eth0 -p tcp --dport 4663 -d 192.168.1.3 -j ACCEPT iptables -A FORWARD -i eth0 -p udp --dport 4673 -d 192.168.1.3 -j ACCEPT #user2 iptables -A FORWARD -i eth0 -p tcp --dport 4662 -d 192.168.1.5 -j ACCEPT iptables -A FORWARD -i eth0 -p udp --dport 4672 -d 192.168.1.5 -j ACCEPT #user3 iptables -A FORWARD -i eth0 -p tcp --dport 4667 -d 192.168.1.7 -j ACCEPT iptables -A FORWARD -i eth0 -p udp --dport 4677 -d 192.168.1.7 -j ACCEPT #azureus - odblokowanie portow #user2 iptables -A FORWARD -i eth0 -p tcp --dport 6881 -d 192.168.1.5 -j ACCEPT iptables -A FORWARD -i eth0 -p tcp --dport 6882 -d 192.168.1.5 -j ACCEPT iptables -A FORWARD -i eth0 -p tcp --dport 6883 -d 192.168.1.5 -j ACCEPT iptables -A FORWARD -i eth0 -p tcp --dport 6884 -d 192.168.1.5 -j ACCEPT iptables -A FORWARD -i eth0 -p tcp --dport 6885 -d 192.168.1.5 -j ACCEPT iptables -A FORWARD -i eth0 -p tcp --dport 6886 -d 192.168.1.5 -j ACCEPT iptables -A FORWARD -i eth0 -p tcp --dport 6887 -d 192.168.1.5 -j ACCEPT iptables -A FORWARD -i eth0 -p tcp --dport 6888 -d 192.168.1.5 -j ACCEPT iptables -A FORWARD -i eth0 -p tcp --dport 6889 -d 192.168.1.5 -j ACCEPT # przyklad: blokowanie GG dla 192.168.1.3 #iptables -t filter -A FORWARD -p tcp -s 192.168.1.3 -d 217.17.41.0/24 --dport 443 -j DROP #iptables -t filter -A FORWARD -p tcp -s 192.168.1.3 -d 217.17.41.0/24 --dport 8074 -j DROP #blokada reszty iptables -A FORWARD -j REJECT ################################## OUTPUT ###################################### #lstat - wyjscie iptables -t mangle -A OUTPUT -p tcp --sport 80 -j MARK --set-mark 2 iptables -t mangle -A OUTPUT -p tcp --sport 10000 -j MARK --set-mark 4 iptables -t mangle -A OUTPUT -p tcp --sport 20:21 -j MARK --set-mark 6 iptables -t mangle -A OUTPUT -p tcp --sport 22 -j MARK --set-mark 8 iptables -t filter -A OUTPUT -j ACCEPT ################################ POSTROUTING ################################### # nakazywanie by wszystkie pakiety pochodzace z lanu byly maskowane iptables -t nat -A POSTROUTING -s 192.168.1.0/24 -d 0/0 -j MASQUERADE #################################### END ####################################### echo Internet udostepniony. #Reguly mozna wpisywac do pliki /etc/sysconfig/iptables poleceniem #/sbin/iptables-save > /etc/sysconfig/iptables #plik automatycznie jest wczytywany po starcie systemu Odnośnik do komentarza Udostępnij na innych stronach More sharing options...
Rekomendowane odpowiedzi
Jeśli chcesz dodać odpowiedź, zaloguj się lub zarejestruj nowe konto
Jedynie zarejestrowani użytkownicy mogą komentować zawartość tej strony.
Zarejestruj nowe konto
Załóż nowe konto. To bardzo proste!
Zarejestruj sięZaloguj się
Posiadasz już konto? Zaloguj się poniżej.
Zaloguj się