Strona 1 z 1

Iptables - przekierowanie numeru IP kamery

: 06 lipca 2011, 10:31
autor: r_afaello
Witam.
Od razu uprzedzam że trochę zielony jestem w temacie i proszę o proste odpowiedzi.
Mam sieć wewnętrzną: na eth1

[INDENT]192.168.100.1 - serwer na Debianie
192.168.100.160 - kamera IP[/INDENT]

Oraz na eth0 - internet ze stałym IP

Człowiek, który właśnie zakłada kamery w naszej firmie ustawił ją i ogólnie działa poprawnie.
Wpisując w przeglądarkę adres kamery:

Kod: Zaznacz cały

192.168.100.160
uruchamia się ładnie obraz.
Ale zachciało się mi, i zaraz zapewne zachce się szefowi, aby można było oglądać je z poza naszej sieci.
W załączniku ustawienia kamery.

I teraz pytanie, do mniej zielonych jeśli chodzi o iptables (bo zakładam, że tu trzeba stworzyć regułkę), jak to zrobić?

Jeśli ma to znaczenie to na serwerze działa squid i apache.

: 06 lipca 2011, 12:34
autor: xmaster
  1. Pokaż nam swoje ustawienia iptables.
  2. Jeśli kamera jest na osobnej karcie sieciowej to najprościej jest przekierować eth0 na jakiś port np. 8080 i wtedy Twój szef będzie sobie oglądał kamerkę z dowolnego miejsca na ziemi.

: 07 lipca 2011, 08:16
autor: r_afaello
Trochę tego dużo bo słaby jestem w te klocki i pewnie niektóre regułki są zbędne lub się powielają.

Kod: Zaznacz cały

#!/bin/bash
echo "1" > /proc/sys/net/ipv4/ip_forward


INTER="eth0"
# tutaj podaj swoj interfejs internetowy

PRIVPORTS="0:1023"
UNPRIVPORTS="1024:65535"
Firewall=DROP
# tutaj mozesz wpisac 2 zmienne ACCEPT -(firewall wylaczony) lub DROP -(firewall wlaczony)

#wy³aczenie firewalla
#iptables -I INPUT -j ACCEPT
#iptables -I FORWARD -j ACCEPT
#iptables -I OUTPUT -j ACCEPT



iptables -F
iptables -X
iptables -F -t nat
iptables -X -t nat
iptables -F -t filter
iptables -X -t filter
iptables -P INPUT   ACCEPT
iptables -P OUTPUT  ACCEPT
iptables -P FORWARD $Firewall
iptables -N lstat
iptables -A FORWARD -j lstat
#do statystyk

iptables -N statystyki 
iptables -F statystyki 
iptables -I FORWARD -j statystyki




#otwarcie portow dla samby
#Akceptowanie po³±czeñ na port tcp 139 z sieci lokalnej
iptables -A INPUT -p TCP -s 192.168.100.0/24 --destination-port 139 -j ACCEPT
#akcept wyjscia samby z serwera
iptables -A OUTPUT -p tcp -d 192.168.100.115 --dport 139 -j ACCEPT


#Akceptowanie po³±czeñ na port udp 137 z sieci lokalnej
iptables -A INPUT -p UDP -s 192.168.100.0/24 --destination-port 137 -j ACCEPT
#Akceptowanie po³±czeñ na port udp 138 z sieci lokalnej
iptables -A INPUT -p UDP -s 192.168.100.0/24 --destination-port 138 -j ACCEPT 
#Akceptowanie po³±czeñ na port tcp 139 z sieci lokalnej
iptables -A INPUT -p TCP -s 192.168.100.0/24 --destination-port 139 -j ACCEPT
#Akceptowanie po³±czeñ na port udp 137 z sieci lokalnej
iptables -A INPUT -p UDP -s 192.168.100.0/24 --destination-port 137 -j ACCEPT
#Akceptowanie po³±czeñ na port udp 138 z sieci lokalnej
iptables -A INPUT -p UDP -s 192.168.100.0/24 --destination-port 138 -j ACCEPT 
#¿eby mi¿na by³o wysy³aæ komunikaty na net send
#iptables -A OUTPUT -p tcp -s 192.168.100.0/24 --dport 139 -j `echo tak >> /mnt/dysk2/zrzut/komunik_popup`
iptables -A OUTPUT -p tcp -s 192.168.100.0/24 --dport 139 -j ACCEPT


iptables -A INPUT -p tcp --dport 135:139 -j DROP
iptables -A OUTPUT -p tcp --dport 135:139 -j DROP
iptables -A FORWARD -p tcp --dport 135:139 -j DROP
iptables -A INPUT -p udp --dport 135:139 -j DROP
# potrzebny do nbtscan 192.168.100.1-120
iptables -A OUTPUT -p udp -s 192.168.100.1  --dport 135:139 -j ACCEPT
# potrzebny dla pod³±czenia sieserwera do udost. katalogu na XP
iptables -A OUTPUT -p tcp -d 192.168.100.115 --dport 445 -j ACCEPT


iptables -A OUTPUT -p udp --dport 135:139 -j DROP
iptables -A FORWARD -p udp --dport 135:139 -j DROP
iptables -A INPUT -p tcp --dport 445 -j DROP
iptables -A OUTPUT -p tcp --dport 445 -j DROP
iptables -A FORWARD -p tcp --dport 445 -j DROP
iptables -A INPUT -p udp --dport 445 -j DROP
iptables -A OUTPUT -p udp --dport 445 -j DROP
iptables -A FORWARD -p udp --dport 445 -j DROP

# a oto blokada portow znanych wirusow typu blaster czy sasser ! :)


/sbin/rc.blokady
iptables -A INPUT -i lo -j ACCEPT


iptables -A INPUT -i $INTER -p icmp -s any/0 --icmp-type 0 -j ACCEPT
iptables -A INPUT -i $INTER -p icmp -s any/0 --icmp-type 4 -j ACCEPT
iptables -A INPUT -i $INTER -p icmp -s any/0 --icmp-type 12 -j ACCEPT
iptables -A INPUT -i $INTER -p icmp -s any/0 --icmp-type 3 -j ACCEPT
iptables -A INPUT -i $INTER -p tcp -m multiport --dport 21,22,80,110,113,443,465,995,3128 -j ACCEPT
iptables -A INPUT -i $INTER -p tcp --dport $PRIVPORTS -j $Firewall
iptables -A INPUT -i $INTER -p udp --dport $PRIVPORTS -j $Firewall
iptables -A INPUT -i $INTER -p tcp --sport $UNPRIVPORTS -j ACCEPT
iptables -A INPUT -i $INTER -p udp --sport $UNPRIVPORTS -j ACCEPT



iptables -I FORWARD -s 192.168.100.115 -p tcp


# udostêpnianie po³aczenia dla sieci
iptables -t filter -A FORWARD -s 192.168.100.0/255.255.255.0 -d 0/0 -j ACCEPT
iptables -t filter -A FORWARD -s 0/0 -d 192.168.100.0/255.255.255.0 -j ACCEPT
# tu zobacz czy twoje podsiec wew zgadza sie z wpisem 192.168.1.0/255.255.255.0 - jesli nie to zmien wedlug uznania w obu linijkach

#opcja przekierowania na stronê info

#XP
#/sbin/iptables -t nat -p tcp -A PREROUTING -s 192.168.100.100 --dport 80 -m state --state NEW -m limit --limit 1/hour --limit-burst 1 -j DNAT --to 192.168.100.1:999
# `/second', `/minute', `/hour', or  `/day'
iptables -t nat -A POSTROUTING -o $INTER -s 192.168.100.100 -d 0/0 -j MASQUERADE
#sekretariat
#/sbin/iptables -t nat -p tcp -A PREROUTING -s 192.168.100.101 --dport 80 -m state --state NEW -m limit --limit 1/hour --limit-burst 1 -j DNAT --to 192.168.100.1:999
# `/second', `/minute', `/hour', or  `/day'
iptables -t nat -A POSTROUTING -o $INTER -s 192.168.100.101 -d 0/0 -j MASQUERADE
#MARYLA
#/sbin/iptables -t nat -p tcp -A PREROUTING -s 192.168.100.102 --dport 80 -m state --state NEW -m limit --limit 1/hour --limit-burst 1 -j DNAT --to 192.168.100.1:999
# `/second', `/minute', `/hour', or  `/day'
iptables -t nat -A POSTROUTING -o $INTER -s 192.168.100.102 -d 0/0 -j MASQUERADE
#ELA
#/sbin/iptables -t nat -p tcp -A PREROUTING -s 192.168.100.103 --dport 80 -m state --state NEW -m limit --limit 1/hour --limit-burst 1 -j DNAT --to 192.168.100.1:999
# `/second', `/minute', `/hour', or  `/day'
iptables -t nat -A POSTROUTING -o $INTER -s 192.168.100.103 -d 0/0 -j MASQUERADE
#JACEK
#/sbin/iptables -t nat -p tcp -A PREROUTING -s 192.168.100.104 --dport 80 -m state --state NEW -m limit --limit 1/hour --limit-burst 1 -j DNAT --to 192.168.100.1:999
# `/second', `/minute', `/hour', or  `/day'
iptables -t nat -A POSTROUTING -o $INTER -s 192.168.100.104 -d 0/0 -j MASQUERADE
#G.KSIÊGOWA
#/sbin/iptables -t nat -p tcp -A PREROUTING -s 192.168.100.105 --dport 80 -m state --state NEW -m limit --limit 1/hour --limit-burst 1 -j DNAT --to 192.168.100.1:999
# `/second', `/minute', `/hour', or  `/day'
iptables -t nat -A POSTROUTING -o $INTER -s 192.168.100.105 -d 0/0 -j MASQUERADE
#WICEPREZES
#/sbin/iptables -t nat -p tcp -A PREROUTING -s 192.168.100.106 --dport 80 -m state --state NEW -m limit --limit 1/hour --limit-burst 1 -j DNAT --to 192.168.100.1:999
# `/second', `/minute', `/hour', or  `/day'
iptables -t nat -A POSTROUTING -o $INTER -s 192.168.100.106 -d 0/0 -j MASQUERADE
#DYR.ROM.
#/sbin/iptables -t nat -p tcp -A PREROUTING -s 192.168.100.107 --dport 80 -m state --state NEW -m limit --limit 1/hour --limit-burst 1 -j DNAT --to 192.168.100.1:999
# `/second', `/minute', `/hour', or  `/day'
iptables -t nat -A POSTROUTING -o $INTER -s 192.168.100.107 -d 0/0 -j MASQUERADE

#/sbin/iptables -t nat -p tcp -A PREROUTING -s 192.168.100.108 --dport 80 -m state --state NEW -m limit --limit 1/hour --limit-burst 1 -j DNAT --to 192.168.100.1:999
# `/second', `/minute', `/hour', or  `/day'
iptables -t nat -A POSTROUTING -o $INTER -s 192.168.100.108 -d 0/0 -j MASQUERADE

#/sbin/iptables -t nat -p tcp -A PREROUTING -s 192.168.100.109 --dport 80 -m state --state NEW -m limit --limit 1/hour --limit-burst 1 -j DNAT --to 192.168.100.1:999
# `/second', `/minute', `/hour', or  `/day'
iptables -t nat -A POSTROUTING -o $INTER -s 192.168.100.109 -d 0/0 -j MASQUERADE
#PREZES
#/sbin/iptables -t nat -p tcp -A PREROUTING -s 192.168.100.110 --dport 80 -m state --state NEW -m limit --limit 1/hour --limit-burst 1 -j DNAT --to 192.168.100.1:999
# `/second', `/minute', `/hour', or  `/day'
iptables -t nat -A POSTROUTING -o $INTER -s 192.168.100.110 -d 0/0 -j MASQUERADE

#/sbin/iptables -t nat -p tcp -A PREROUTING -s 192.168.100.111 --dport 80 -m state --state NEW -m limit --limit 1/hour --limit-burst 1 -j DNAT --to 192.168.100.1:999
# `/second', `/minute', `/hour', or  `/day'
iptables -t nat -A POSTROUTING -o $INTER -s 192.168.100.111 -d 0/0 -j MASQUERADE

#/sbin/iptables -t nat -p tcp -A PREROUTING -s 192.168.100.112 --dport 80 -m state --state NEW -m limit --limit 1/hour --limit-burst 1 -j DNAT --to 192.168.100.1:999
# `/second', `/minute', `/hour', or  `/day'
iptables -t nat -A POSTROUTING -o $INTER -s 192.168.100.112 -d 0/0 -j MASQUERADE

#/sbin/iptables -t nat -p tcp -A PREROUTING -s 192.168.100.113 --dport 80 -m state --state NEW -m limit --limit 1/hour --limit-burst 1 -j DNAT --to 192.168.100.1:999
# `/second', `/minute', `/hour', or  `/day'
iptables -t nat -A POSTROUTING -o $INTER -s 192.168.100.113 -d 0/0 -j MASQUERADE

#/sbin/iptables -t nat -p tcp -A PREROUTING -s 192.168.100.114 --dport 80 -m state --state NEW -m limit --limit 1/hour --limit-burst 1 -j DNAT --to 192.168.100.1:999
# `/second', `/minute', `/hour', or  `/day'
iptables -t nat -A POSTROUTING -o $INTER -s 192.168.100.114 -d 0/0 -j MASQUERADE
#RAFA£
#iptables -t nat -p tcp -A PREROUTING -s 192.168.100.115 --dport 80 -m state --state NEW -m limit --limit 1/hour --limit-burst 1 -j DNAT --to 192.168.100.1:999
# `/second', `/minute', `/hour', or  `/day'
iptables -t nat -A POSTROUTING -o $INTER -s 192.168.100.115 -d 0/0 -j MASQUERADE

#/sbin/iptables -t nat -p tcp -A PREROUTING -s 192.168.100.116 --dport 80 -m state --state NEW -m limit --limit 1/hour --limit-burst 1 -j DNAT --to 192.168.100.1:999
# `/second', `/minute', `/hour', or  `/day'
iptables -t nat -A POSTROUTING -o $INTER -s 192.168.100.116 -d 0/0 -j MASQUERADE

#/sbin/iptables -t nat -p tcp -A PREROUTING -s 192.168.100.117 --dport 80 -m state --state NEW -m limit --limit 1/hour --limit-burst 1 -j DNAT --to 192.168.100.1:999
# `/second', `/minute', `/hour', or  `/day'
iptables -t nat -A POSTROUTING -o $INTER -s 192.168.100.117 -d 0/0 -j MASQUERADE

#/sbin/iptables -t nat -p tcp -A PREROUTING -s 192.168.100.118 --dport 80 -m state --state NEW -m limit --limit 1/hour --limit-burst 1 -j DNAT --to 192.168.100.1:999
# `/second', `/minute', `/hour', or  `/day'
iptables -t nat -A POSTROUTING -o $INTER -s 192.168.100.118 -d 0/0 -j MASQUERADE

#/sbin/iptables -t nat -p tcp -A PREROUTING -s 192.168.100.119 --dport 80 -m state --state NEW -m limit --limit 1/hour --limit-burst 1 -j DNAT --to 192.168.100.1:999
# `/second', `/minute', `/hour', or  `/day'
iptables -t nat -A POSTROUTING -o $INTER -s 192.168.100.119 -d 0/0 -j MASQUERADE

#/sbin/iptables -t nat -p tcp -A PREROUTING -s 192.168.100.120 --dport 80 -m state --state NEW -m limit --limit 1/hour --limit-burst 1 -j DNAT --to 192.168.100.1:999
# `/second', `/minute', `/hour', or  `/day'
iptables -t nat -A POSTROUTING -o $INTER -s 192.168.100.120 -d 0/0 -j MASQUERADE

#/sbin/iptables -t nat -p tcp -A PREROUTING -s 192.168.100.121 --dport 80 -m state --state NEW -m limit --limit 1/hour --limit-burst 1 -j DNAT --to 192.168.100.1:999
# `/second', `/minute', `/hour', or  `/day'
iptables -t nat -A POSTROUTING -o $INTER -s 192.168.100.121 -d 0/0 -j MASQUERADE

#/sbin/iptables -t nat -p tcp -A PREROUTING -s 192.168.100.122 --dport 80 -m state --state NEW -m limit --limit 1/hour --limit-burst 1 -j DNAT --to 192.168.100.1:999
# `/second', `/minute', `/hour', or  `/day'
iptables -t nat -A POSTROUTING -o $INTER -s 192.168.100.122 -d 0/0 -j MASQUERADE

#/sbin/iptables -t nat -p tcp -A PREROUTING -s 192.168.100.123 --dport 80 -m state --state NEW -m limit --limit 1/hour --limit-burst 1 -j DNAT --to 192.168.100.1:999
# `/second', `/minute', `/hour', or  `/day'
iptables -t nat -A POSTROUTING -o $INTER -s 192.168.100.123 -d 0/0 -j MASQUERADE

#/sbin/iptables -t nat -p tcp -A PREROUTING -s 192.168.100.124 --dport 80 -m state --state NEW -m limit --limit 1/hour --limit-burst 1 -j DNAT --to 192.168.100.1:999
# `/second', `/minute', `/hour', or  `/day'
iptables -t nat -A POSTROUTING -o $INTER -s 192.168.100.124 -d 0/0 -j MASQUERADE

#/sbin/iptables -t nat -p tcp -A PREROUTING -s 192.168.100.125 --dport 80 -m state --state NEW -m limit --limit 1/hour --limit-burst 1 -j DNAT --to 192.168.100.1:999
# `/second', `/minute', `/hour', or  `/day'
iptables -t nat -A POSTROUTING -o $INTER -s 192.168.100.125 -d 0/0 -j MASQUERADE

#/sbin/iptables -t nat -p tcp -A PREROUTING -s 192.168.100.126 --dport 80 -m state --state NEW -m limit --limit 1/hour --limit-burst 1 -j DNAT --to 192.168.100.1:999
# `/second', `/minute', `/hour', or  `/day'
iptables -t nat -A POSTROUTING -o $INTER -s 192.168.100.126 -d 0/0 -j MASQUERADE

#/sbin/iptables -t nat -p tcp -A PREROUTING -s 192.168.100.127 --dport 80 -m state --state NEW -m limit --limit 1/hour --limit-burst 1 -j DNAT --to 192.168.100.1:999
# `/second', `/minute', `/hour', or  `/day'
iptables -t nat -A POSTROUTING -o $INTER -s 192.168.100.127 -d 0/0 -j MASQUERADE

#/sbin/iptables -t nat -p tcp -A PREROUTING -s 192.168.100.128 --dport 80 -m state --state NEW -m limit --limit 1/hour --limit-burst 1 -j DNAT --to 192.168.100.1:999
# `/second', `/minute', `/hour', or  `/day'
iptables -t nat -A POSTROUTING -o $INTER -s 192.168.100.128 -d 0/0 -j MASQUERADE

#/sbin/iptables -t nat -p tcp -A PREROUTING -s 192.168.100.129 --dport 80 -m state --state NEW -m limit --limit 1/hour --limit-burst 1 -j DNAT --to 192.168.100.1:999
# `/second', `/minute', `/hour', or  `/day'
iptables -t nat -A POSTROUTING -o $INTER -s 192.168.100.129 -d 0/0 -j MASQUERADE

#/sbin/iptables -t nat -p tcp -A PREROUTING -s 192.168.100.130 --dport 80 -m state --state NEW -m limit --limit 1/hour --limit-burst 1 -j DNAT --to 192.168.100.1:999
# `/second', `/minute', `/hour', or  `/day'
iptables -t nat -A POSTROUTING -o $INTER -s 192.168.100.130 -d 0/0 -j MASQUERADE

#/sbin/iptables -t nat -p tcp -A PREROUTING -s 192.168.100.131 --dport 80 -m state --state NEW -m limit --limit 1/hour --limit-burst 1 -j DNAT --to 192.168.100.1:999
# `/second', `/minute', `/hour', or  `/day'
iptables -t nat -A POSTROUTING -o $INTER -s 192.168.100.131 -d 0/0 -j MASQUERADE

#/sbin/iptables -t nat -p tcp -A PREROUTING -s 192.168.100.132 --dport 80 -m state --state NEW -m limit --limit 1/hour --limit-burst 1 -j DNAT --to 192.168.100.1:999
# `/second', `/minute', `/hour', or  `/day'
iptables -t nat -A POSTROUTING -o $INTER -s 192.168.100.132 -d 0/0 -j MASQUERADE

#/sbin/iptables -t nat -p tcp -A PREROUTING -s 192.168.100.133 --dport 80 -m state --state NEW -m limit --limit 1/hour --limit-burst 1 -j DNAT --to 192.168.100.1:999
# `/second', `/minute', `/hour', or  `/day'
iptables -t nat -A POSTROUTING -o $INTER -s 192.168.100.133 -d 0/0 -j MASQUERADE

#/sbin/iptables -t nat -p tcp -A PREROUTING -s 192.168.100.134 --dport 80 -m state --state NEW -m limit --limit 1/hour --limit-burst 1 -j DNAT --to 192.168.100.1:999
# `/second', `/minute', `/hour', or  `/day'
iptables -t nat -A POSTROUTING -o $INTER -s 192.168.100.134 -d 0/0 -j MASQUERADE

#/sbin/iptables -t nat -p tcp -A PREROUTING -s 192.168.100.135 --dport 80 -m state --state NEW -m limit --limit 1/hour --limit-burst 1 -j DNAT --to 192.168.100.1:999
# `/second', `/minute', `/hour', or  `/day'
iptables -t nat -A POSTROUTING -o $INTER -s 192.168.100.135 -d 0/0 -j MASQUERADE



#tu wlaczasz/wylaczasz przekierowanie na squida

iptables -t nat -A PREROUTING -i eth1 -p tcp --dport 80 -j REDIRECT --to-port 3128




#iptables -t nat -A PREROUTING -i $INTER -p tcp -d IP_ZEW --dport 1551 -j DNAT --to-destination 192.168.100.2:1551
#iptables -t nat -A PREROUTING -i $INTER -p tcp -d IP_ZEW --dport 1552 -j DNAT --to-destination 192.168.100.3:1552
#iptables -t nat -A PREROUTING -i $INTER -p tcp -d IP_ZEW --dport 1553 -j DNAT --to-destination 192.168.100.4:1553



#pulpit zdalny
iptables -t nat -A PREROUTING -i $INTER -p tcp  --dport 3389 -j LOG  --log-prefix "info:200"
iptables -t nat -A PREROUTING -i $INTER -p tcp  --dport 3389 -j DNAT --to-destination 192.168.100.115:3389

iptables -t nat -A PREROUTING -i $INTER -p tcp  --dport 23 -j DNAT --to-destination 192.168.100.115:23
#emule
iptables -t nat -A PREROUTING -i $INTER -p tcp  --dport 4662 -j DNAT --to-destination 192.168.100.115:4662
iptables -t nat -A PREROUTING -i $INTER -p tcp  --dport 4672 -j DNAT --to-destination 192.168.100.115:4672
iptables -t nat -A PREROUTING -i $INTER -p udp  --dport 4662 -j DNAT --to-destination 192.168.100.115:4662
iptables -t nat -A PREROUTING -i $INTER -p udp  --dport 4672 -j DNAT --to-destination 192.168.100.115:4672

# to regulki do przekierowania portu potrzebnego dla danego [B]użytkownika[/B] - np. gg aby mógł wysyłać/odbierać pliki oraz rozmawiac przez mikrofon.
# w miejsce IP_ZEW wpisz swoj ip zew[B]nętrzny[/B] łącza
Dodane:

xmaster, iptables wstawiłem
Kamera jest na innej karcie ale na tej karcie jest cała sieć lan, a nie jedna kamera.

Problem rozwiązany temat do zamknięcia.

: 11 lipca 2011, 19:12
autor: Bastian
Łaskawie napisz dla potomnych jak.

: 12 lipca 2011, 07:07
autor: r_afaello
Proszę bardzo, może się przyda.
Od razu uprzedzę. To ta regułka razem z kilkoma innymi, które miały być na 100% dobre, przewinęła się kilka razy i już pomysły się skończyły.
Okazało się, że źle testowałem (w tej samej sieci). Ale jak wróciłem do domu i z domu spróbowałem się połączyć to wszystko wyszło poprawnie i poniższa regułka robi co trzeba.

Kod: Zaznacz cały

iptables -A INPUT -p tcp --dport 800 -j ACCEPT
iptables -A PREROUTING -t nat -p tcp -i eth0 --dport 800 -j DNAT --to 192.168.100.160:80