Przekierowanie portów prze firewall do sieci wewnętrznej

Instalacja i konfiguracja oprogramowania sieciowego.
trebor_kr
Piegowaty Guziec
Piegowaty Guziec
Posty: 12
Rejestracja: 14 paź 2008, 21:56
Płeć: Mężczyzna
Wersja Ubuntu: 7.10
Środowisko graficzne: GNOME

Przekierowanie portów prze firewall do sieci wewnętrznej

Post autor: trebor_kr »

Witam
Mam postawiony firewal na serwerku chroniący moją sieć wewnętrzna
a oto on

Kod: Zaznacz cały

#!/bin/bash 
# zmie? t? nazw? na interfejs, jaki ??czy Ciebie z Internetem "uplink" 
    UPLINK="eth0" 
# Jeœli ta maszyna jest ruterem ( i powinna przesy?a? pakiety pomi?dzy interfejsami ) powinieneœ powiedzie? ROUTER="yes" w innym wypadku "no"     
    ROUTER="yes" 
# zmie? t? linie na statyczny adres IP z twojego interfejsu; dla statycznego SNAT 
# "dynamic" jeœli masz dynamiczny IP. Albo jeœli nie potrzebujesz NAT zmie? na "" ?eby wy??czy? NAT'a 
    NAT="static"
    UPIP="XXX"
# Zmie? nast?pn? lini? tak, ?eby uj?? wszystkie interfejsy sieciowe w??czaj?c lo 
    INTERFACES="lo eth0 eth1" 
# zmie? poni?sza lini? tak, ?eby by?y wymienione wszystkie numery albo symbole ( z /etc/services) wszystkich serwisów, które chcesz udost?pni? 
# dla internautów. Jeœli nie chcesz ?adnych serwisów wy??cz je przez "" 
	SERVICESHOME="aaa bbb ccc"
	SERVICESALL="aaa bbb http https smtp pop3s"
	
    if [ "$1" = "start" ]; then 
    echo "Startowanie Firewall..." 

    iptables -N cerber

    iptables -P INPUT DROP
    iptables -A INPUT -i lo -j ACCEPT
    iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT 
#dopuszcza nas do wybranych serwisoów
    iptables -A INPUT -p udp -s 192.168.1.0/24 -i eth1 --dport domain -j ACCEPT
    iptables -A INPUT -p udp -i tun0 --dport domain -j ACCEPT
     for x in ${SERVICESHOME}
     do
     iptables -A INPUT -p tcp -i eth1 -s 192.168.1.0/24 --dport ${x} -m state --state NEW -j ACCEPT
     iptables -A INPUT -p tcp -i tun0 --dport ${x} -m state --state NEW -j ACCEPT
     done
#dopuszcza internautów do wybranych serwisow
     for x in ${SERVICESALL}
     do
     iptables -A INPUT -p tcp --dport ${x} -m state --state NEW -j ACCEPT
     done

     iptables -A INPUT -p udp --dport 1194 -j ACCEPT

     iptables -A INPUT -j cerber

     iptables -A INPUT -p tcp -i ${UPLINK} -j REJECT --reject-with tcp-reset
     iptables -A INPUT -p udp -i ${UPLINK} -j REJECT --reject-with icmp-port-unreachable 


    iptables -P FORWARD DROP
    iptables -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT
    iptables -A FORWARD -i eth1 -p tcp --sport 1024: -s 192.168.1.0/24  -m state --state NEW -j ACCEPT
    iptables -A FORWARD -i eth1 -p udp --sport 1024: -s 192.168.1.0/24  -j ACCEPT
    iptables -A FORWARD -i eth1 -p icmp -s 192.168.1.0/24 -j ACCEPT
    iptables -A FORWARD -i tun0 -p tcp -m state --state NEW -j ACCEPT
    iptables -A FORWARD -i tun0 -p udp -j ACCEPT
    iptables -A FORWARD -i tun0 -p icmp -j ACCEPT
    iptables -A FORWARD -j cerber

   # wylaczamy odpowiedzi na pingi
    /bin/echo "1" > /proc/sys/net/ipv4/icmp_echo_ignore_all
    # ochrona przed atakiem typu Smurf
    /bin/echo "1" > /proc/sys/net/ipv4/icmp_echo_ignore_broadcasts
    # Nie aktceptujemy pakietow "source route"
    /bin/echo "0" > /proc/sys/net/ipv4/conf/all/accept_source_route
    # Nie przyjmujemy pakietow ICMP rediect, ktore moga zmienic nasza tablice rutingu
    /bin/echo "0" > /proc/sys/net/ipv4/conf/all/accept_redirects
    # Wlaczamy ochrone przed blednymi komunikatami ICMP error
    /bin/echo "1" > /proc/sys/net/ipv4/icmp_ignore_bogus_error_responses
    # wszystkie karty nie beda przyjmowaly pakietow z sieci innych niz te z tablicy rutingu
    echo "1" > /proc/sys/net/ipv4/conf/all/rp_filter; 
    # Wlacza logowanie dziwnych (spoofed, source routed, redirects) pakietow
    /bin/echo "1" > /proc/sys/net/ipv4/conf/all/log_martians
    #wy??czenie ECN
    echo 0 > /proc/sys/net/ipv4/tcp_ecn 

    if [ "$ROUTER" = "yes" ]; then
 #jeœli jesteœmy ruterem, w??cz IP forwarding 
    echo 1 > /proc/sys/net/ipv4/ip_forward
     if [ "$NAT" = "dynamic" ]; then
 #Dynamiczny IP, u?ycie maskarady 
    echo "W??czenie maskarady (dynamiczny ip)..." 
    iptables -t nat -A POSTROUTING -o ${UPLINK} -j MASQUERADE 
    elif [ "$NAT" != "" ]; then 
#statyczny IP u?ywa SNAT 
    echo "W??czenie SNAT (statyczny IP)..."
     iptables -t nat -A POSTROUTING -o ${UPLINK} -j SNAT --to ${UPIP}
     fi
     fi 
# Wlaczenie przekierowanie Oracle (192.168.1.1:8080 -> 127.0.0.1:8080)
    iptables -t nat -A PREROUTING -p tcp -d 192.168.1.1 --dport 8080 -j DNAT --to 127.0.0.1
# Wlaczenie liczenia ruchu IN/OUT
    iptables -t mangle -N ruchin
    iptables -t mangle -F ruchin
    iptables -t mangle -I PREROUTING -j ruchin
    iptables -t mangle -A ruchin -p tcp --dport http -i eth0 -j RETURN
    iptables -t mangle -A ruchin -i eth0 -j RETURN
    iptables -t mangle -N ruchout
    iptables -t mangle -F ruchout
    iptables -t mangle -I POSTROUTING -j ruchout
    iptables -t mangle -A ruchout -p tcp --sport http -o eth0 -j RETURN
    iptables -t mangle -A ruchout -o eth0 -j RETURN
# Przydzial pasma
    iptables -t mangle -N przydzialpasmaout
    iptables -t mangle -F przydzialpasmaout
    iptables -t mangle -A POSTROUTING -j przydzialpasmaout
    iptables -t mangle -A przydzialpasmaout -o eth0 -s 192.168.1.32 -j MARK --set-mark 0x1
    iptables -t mangle -A przydzialpasmaout -o eth0 -s 192.168.1.33 -j MARK --set-mark 0x2
    iptables -t mangle -A przydzialpasmaout -p tcp -o eth0 --sport http -j MARK --set-mark 0x05
    iptables -t mangle -N przydzialpasmain
    iptables -t mangle -F przydzialpasmain
    iptables -t mangle -A POSTROUTING -j przydzialpasmain
    iptables -t mangle -A przydzialpasmain -o eth1 -d 192.168.1.32 -j MARK --set-mark 0x3
    iptables -t mangle -A przydzialpasmain -o eth1 -d 192.168.1.33 -j MARK --set-mark 0x4
    elif [ "$1" = "stop" ]; then 
    echo "Zatrzymanie Firewalla..." 
    iptables -F INPUT 
    iptables -P INPUT ACCEPT 
    iptables -F FORWARD
    iptables -P FORWARD ACCEPT
    iptables -F cerber
    iptables -X cerber
    iptables -t nat -D PREROUTING 1
    iptables -t mangle -D PREROUTING 1
    iptables -t mangle -F ruchin
    iptables -t mangle -X ruchin
    iptables -t mangle -D POSTROUTING 1
    iptables -t mangle -F ruchout
    iptables -t mangle -X ruchout
    iptables -t mangle -D POSTROUTING 1
    iptables -t mangle -F przydzialpasmaout
    iptables -t mangle -X przydzialpasmaout
    iptables -t mangle -D POSTROUTING 1
    iptables -t mangle -F przydzialpasmain
    iptables -t mangle -X przydzialpasmain
#wy??czenie NAT/maskarady jeœli jest 
    iptables -t nat -F POSTROUTING
    fi 
Chce połaczyć się przez eth0 na porcie ccc z kompem wewątrz sieci np: 192.168.1.40 na porcie ddd

Próbowałem wstawić różne kody takie jak np:

Kod: Zaznacz cały

# przekierowanie portow
  iptables -t nat -A PREROUTING -p tcp -d XXX --dport ccc -j DNAT --to 192.168.1.40:ddd
  iptables -A FORWARD -m state NEW -p tcp -d 192.168.1.2 --dport ccc  -j ACCEPT 
ale nic nie hula.
Może w niewłasciwym miejscu wstawiam komendy?

Z góry dzięki za pomoc bo walczę z tym trochę czasu i .... nic.
Dzięki
ODPOWIEDZ

Wróć do „Sieci, serwery, Internet”

Kto jest online

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