Przekierowania na firewallu

Konfiguracja serwerów, usług, itp.
ciscoknx90
Posty: 27
Rejestracja: 22 lipca 2013, 08:06

Przekierowania na firewallu

Post autor: ciscoknx90 »

Cześć.

Mam rejestrator wideo i chcę go wystawić tak żebym z internetu miał dostęp do kamer. Mam jeden stały adres ip.
Napisałem regułkę ale nie wiem czemu, nie chce mi działać.
Za wskazówki będę wdzięczny - pozdrawiam.
iptables -I INPUT --protocol tcp -d 192.168.2.254 --dport 37777 -j ACCEPT
iptables -t nat -I PREROUTING --protocol tcp -d 192.168.2.254 --dport 37777 -j DNAT --to 192.168.2.254:37777
iptables -I INPUT --protocol udp -d 192.168.2.254 --dport 37778 -j ACCEPT
iptables -t nat -I PREROUTING --protocol udp -d 192.168.2.254 --dport 37778 -j DNAT --to 192.168.2.254:37777
A drugie pytanie - w którym momencie reguły iptabels są aktualizowane? Po restarcie firewalla czy z chwilą zapisu zmian na pliku firewalla?
daniel_l81
Posty: 51
Rejestracja: 23 listopada 2007, 08:39
Lokalizacja: Brodnica

Post autor: daniel_l81 »

Nie wiem czy wiesz, ale adres 192.168.2.254 nie jest żadnym IP zewnętrznym :)

Musisz zrobić przekierowanie na wszystkie porty rejestratora, które on udostępnia, a robisz to takimi wpisami w firewallu serwera: (np. gdy rejestrator ma takie porty: 3001, 3002, 3003)

Kod: Zaznacz cały

iptables -t nat -A PREROUTING -p tcp -d (tutaj adres IP zewnętrzny) --dport 3001 -j DNAT --to-destination (tutaj IP rejestratora wewnątrz sieci):3001
iptables -t nat -A PREROUTING -p tcp -d (tutaj adres IP zewnętrzny) --dport 3002 -j DNAT --to-destination (tutaj IP rejestratora wewnątrz sieci):3002
iptables -t nat -A PREROUTING -p tcp -d (tutaj adres IP zewnętrzny) --dport 3003 -j DNAT --to-destination (tutaj IP rejestratora wewnątrz sieci):3003
Samo zapisanie nic nie da, dopóki nie zrestartujesz firewalla, np.

Kod: Zaznacz cały

/etc/init.d/fw
Awatar użytkownika
lun
Beginner
Posty: 266
Rejestracja: 01 lutego 2010, 22:06
Lokalizacja: Warszawa

Post autor: lun »

Najprościej napisać, że reguła obowiązuje od momentu jej wprowadzenia. A to kiedy ją wprowadzasz, zależy od tego jak masz zbudowany skrypt zapory.
Jeśli trzymasz reguły w skrypcie (a skrypt masz w /etc/init.d/), to zaczną działać kiedy:
1. dodasz regułę bezpośrednio z linii poleceń
2. dokonasz zmian w skrypcie go przeładujesz

Jeśli natomiast reguły trzymasz gdzieś w pliku na filesystemie, to zaczną działać kiedy wywołasz komendę iptables-restore < plik_z_regułami

EDIT:
Biję się w pierś i poprawiam, bo nie zauważyłem fragmentu o pliku/skrypcie dla FW.
daniel_l81
Posty: 51
Rejestracja: 23 listopada 2007, 08:39
Lokalizacja: Brodnica

Post autor: daniel_l81 »

lun pisze:Co do poprawności reguł to się nie wypowiem, ale jeśli chodzi o restart firewalla to trochę kolegę ciscoknx90oszukujesz.
Z jego wypowiedzi wynika, że reguły ma zapisane w pliku firewalla i do tego odnosi się moja wypowiedź.

Podane przeze mnie reguły są dobre, bo sam mam w swojej sieci rejestrator, na który łączę się z zewnątrz. Ważne, aby zastosować je do odpowiednich portów rejestratora.
ciscoknx90
Posty: 27
Rejestracja: 22 lipca 2013, 08:06

Post autor: ciscoknx90 »

Kod: Zaznacz cały

#!/bin/sh

### BEGIN INIT INFO
# Provides:          scriptname
# Required-Start:    $remote_fs $syslog
# Required-Stop:     $remote_fs $syslog
# Default-Start:     2 3 4 5
# Default-Stop:      0 1 6
# Short-Description: Start daemon at boot time
# Description:       Enable service provided by daemon.
### END INIT INFO

# wlaczenie w kernelu forwardowania
/bin/echo 1 > /proc/sys/net/ipv4/ip_forward
# 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 tablice routingu
/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
# Wlaczenie mechanizmu wykrywania oczywistych falszerstw (pakiety znajdujace sie tylko tablicy routingu)
#######/bin/echo 1 > /proc/sys/net/ipv4/conf/all/rp_filter
/bin/echo 1 > /proc/sys/net/ipv4/tcp_timestamps
/bin/echo 1 > /proc/sys/net/ipv4/conf/all/log_martians
/bin/echo 10 > /proc/sys/net/ipv4/ipfrag_time
#/bin/echo 65536 > /proc/sys/net/ipv4/netfilter/ip_conntrack_max
/bin/echo 36024 > /proc/sys/net/ipv4/tcp_max_syn_backlog
# zwiekszenie rozmaru tablicy ARP
/bin/echo 1024 > /proc/sys/net/ipv4/neigh/default/gc_thresh1
/bin/echo 4096 > /proc/sys/net/ipv4/neigh/default/gc_thresh2
/bin/echo 8192 > /proc/sys/net/ipv4/neigh/default/gc_thresh3
/bin/echo 1 > /proc/sys/net/ipv4/tcp_rfc1337
/bin/echo 1 > /proc/sys/net/ipv4/ip_no_pmtu_disc
/bin/echo 1 > /proc/sys/net/ipv4/icmp_ignore_bogus_error_responses
#/bin/echo 60 > /proc/sys/net/ipv4/netfilter/ip_conntrack_tcp_timeout_close_wait
#/bin/echo 360 > /proc/sys/net/ipv4/netfilter/ip_conntrack_tcp_timeout_established
/bin/echo 30 > /proc/sys/net/ipv4/tcp_fin_timeout
/bin/echo 2400 > /proc/sys/net/ipv4/tcp_keepalive_time
/bin/echo 0 > /proc/sys/net/ipv4/tcp_window_scaling
/bin/echo 0 > /proc/sys/net/ipv4/tcp_sack
/bin/echo 20 > /proc/sys/net/ipv4/ipfrag_time
/bin/echo 1280 > /proc/sys/net/ipv4/tcp_max_syn_backlog
# Blokada przed atakami typu SYN FLOODING
/bin/echo 1 > /proc/sys/net/ipv4/tcp_syncookies
# WĹ‚aczenie proxy arp - dzieki temu serwer nie zdycha po kilku
#/bin/echo 1 > /proc/sys/net/ipv4/conf/all/arp_filter
# Zwiekszenie rozmiarutablic routingu
/bin/echo "18192" > /proc/sys/net/ipv4/route/max_size


################################
### czyszczenie starych regul
   iptables -F
   iptables -X
   iptables -t nat -X
   iptables -t nat -F
   iptables -t mangle -F
   iptables -t mangle -X
### koniec czyszczenia starych regul
################################


###############################
### 

################################
### ustawienie domyslnej polityki
   iptables -P INPUT ACCEPT
   iptables -P FORWARD ACCEPT
   iptables -P OUTPUT ACCEPT

  iptables -A INPUT --protocol tcp --destination-port 22 -j ACCEPT
  iptables -A INPUT --protocol tcp --destination-port 80 -j ACCEPT
  iptables -A INPUT --protocol tcp --destination-port 100 -j ACCEPT
  iptables -A INPUT --protocol tcp --destination-port 7000 -j ACCEPT

#########################
### kamery

   iptables -A INPUT --protocol tcp --destination-port 37777 -j ACCEPT
   iptables -A INPUT --protocol udp --destination-port 37778 -j ACCEPT
  
   iptables -A INPUT --protocol udp --source-port 53 -j ACCEPT
   iptables -A INPUT --protocol udp --destination-port 53 -j ACCEPT

   iptables -A INPUT -m conntrack --ctstate NEW -p tcp --tcp-flags SYN,RST,ACK,FIN,URG,PSH ACK -j DROP
   iptables -A INPUT -m conntrack --ctstate NEW -p tcp --tcp-flags SYN,RST,ACK,FIN,URG,PSH FIN -j DROP
   iptables -A INPUT -m conntrack --ctstate NEW -p tcp --tcp-flags SYN,RST,ACK,FIN,URG,PSH FIN,URG,PSH -j DROP
### koniec ustawień domyślnej polityki
################################


################################
###### POŁĄCZENIA NAWIĄZANE

   ##############
   ## utrzymywanie polaczen nawiazanych
      iptables -A INPUT -j ACCEPT -m state --state ESTABLISHED,RELATED
      iptables -A FORWARD -j ACCEPT -m state --state ESTABLISHED,RELATED
      iptables -A OUTPUT -j ACCEPT -m state --state ESTABLISHED,RELATED
      iptables -A INPUT -p icmp -j ACCEPT
      #iptables -A OUTPUT -p icmp -j ACCEPT

   ## koniec podtrzymywania polaczen
   ##############

###### KONIEC POŁĄCZEŃ NAWIĄZANYCH
################################


################################
######  PRZEKIEROWANIA PORTOW

        # Sys
        iptables -I FORWARD --protocol tcp -d 192.168.2.252 --dport 1234 -j ACCEPT
        iptables -t nat -I PREROUTING --protocol tcp -d 0/0 --dport 8080 -j DNAT --to 192.168.2.252:1234

     # KAMERY WWW
     iptables -I FORWARD --protocol tcp -d 192.168.2.254 --dport 80 -j ACCEPT
     iptables -t nat -I PREROUTING --protocol tcp -d 0/0 --dport 11111 -j DNAT --to 192.168.2.254:80

     # KAMERY PSS
    iptables -I INPUT --protocol tcp -d 192.168.2.254 --dport 37777 -j ACCEPT
    iptables -t nat -I PREROUTING --protocol tcp -d 0/0 --dport 37777 -j DNAT --to 192.168.2.254:37777
    iptables -I INPUT --protocol udp -d 192.168.2.254 --dport 37778 -j ACCEPT
    iptables -t nat -I PREROUTING --protocol udp -d 0/0 --dport 37778 -j DNAT --to 192.168.2.254:37778

###### KONIEC PRZEKIEROWANIA PORTOW
################################


################################
######  udostepniaie internetu w sieci lokalnej

     iptables -t nat -A POSTROUTING -s 0/0 -d 0.0.0.0/0 -j SNAT --to 10.5.5.2

###### koniec udostepniania internetu w sieci lokalnej
################################


###############################
###### forwardowanie vpn
#    iptables -A FORWARD -i tun+ -j ACCEPT
###### koniec forwardowania vpn
################################
Oto cały mój firewall. Pomóżcie mi bo mi ręce opadają. Dodawałem adres zewnętrzny ale to nie działa.
daniel_l81
Posty: 51
Rejestracja: 23 listopada 2007, 08:39
Lokalizacja: Brodnica

Post autor: daniel_l81 »

O mamusiu, na jakiej podstawie (wg jakiego przykładu) budowałeś swojego firewalla :confused:

Na początku swojej drogi z Debianem korzystałem z tego poradnika przy budowaniu firewalla, polecam -> http://stary.dug.net.pl/texty/masq.php


Przyznam się, że jeszcze nie spotkałem się z wpisami tego typu:

Kod: Zaznacz cały

--protocol tcp, --destination-port, --source-port
Na początek proponuję zamienić:

Kod: Zaznacz cały

--protocol tcp [B]zamień na[/B] -p tcp
--destination-port [B]zamień na[/B] --dport
--source-port [B]zamień na[/B] --sport
Drugie:

Kod: Zaznacz cały

iptables -P INPUT ACCEPT [B]zamień na[/B] iptables -P INPUT DROP
bo otwierasz niepotrzebnie swój serwer.

Trzecie:
Rejestrator masz wewnątrz swojej sieci o IP: 192.168.2.254, więc robisz tylko przekierowanie na porty tego rejestratora takimi regułkami, jak podałem wyżej (jesteś pewny, że to te porty? - 37777, 37778, 8080, 80, 11111, 1234) bez wstawiania regułek z INPUT (które dotyczą serwera) i FORWARD !

Czwarte:
Ciekawe, jak Ci działa udostępnianie internetu w sieci lokalnej :confused:
ciscoknx90
Posty: 27
Rejestracja: 22 lipca 2013, 08:06

Post autor: ciscoknx90 »

Rejestrator ma porty: TCP 37777, UDP 37778, HTTP 80
Pozostałe dotyczą innych aplikacji.
Jak działa net? Odziedziczyłem to po poprzedniku/poprzednikach. Debian wersja 6.
Kabel skrosowany z ekranowaniem idzie do konektora wzmacniającego który ma dwa wejścia rj-45, i z drugiego wejścia leci do karty Sieciowej debiana.
ODPOWIEDZ