Nie jesteś zalogowany.
Jeśli nie posiadasz konta, zarejestruj je już teraz! Pozwoli Ci ono w pełni korzystać z naszego serwisu. Spamerom dziękujemy!
Prosimy o pomoc dla małej Julki — przekaż 1% podatku na Fundacji Dzieciom zdazyć z Pomocą.
Więcej informacji na dug.net.pl/pomagamy/.
Witam
stworzylem taki skrypt:
#!/bin/bash
iptables -F
iptables -F PREROUTING -t nat
iptables -F POSTROUTING -t nat
iptables -P INPUT DROP
iptables -P OUTPUT ACCEPT
iptables -P FORWARD ACCEPT
iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A OUTPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A INPUT -p tcp --dport 22 -m state --state NEW -j ACCEPT
iptables -A INPUT -p tcp --dport 1022 -m state --state NEW -j ACCEPT
iptables -A INPUT -p tcp --dport 1220 -m state --state NEW -j ACCEPT
iptables -A OUTPUT -p tcp --dport 22 -m state --state NEW -j ACCEPT
iptables -A OUTPUT -p tcp --dport 1022 -m state --state NEW -j ACCEPT
iptables -A OUTPUT -p tcp --dport 1220 -m state --state NEW -j ACCEPT
czyli chcialbym aby mial dostep do 3 portow: 22, 1022 i no 1220.
Niestety jak wpisze komende "nmap localhost" to pojawia mi sie:
Starting Nmap 4.76 ( http://nmap.org ) at 2009-06-17 12:42 CEST
Warning: Hostname localhost resolves to 2 IPs. Using 127.0.0.1.
Interesting ports on localhost (127.0.0.1):
Not shown: 998 filtered ports
PORT STATE SERVICE
22/tcp open ssh
1022/tcp closed unknown
Nmap done: 1 IP address (1 host up) scanned in 4.47 seconds
czyli tylko port 22 jest otwarty, 1022 jest zamkniety a port 1220 w ogole sie nie pojawil.
Chcialbym te porty miec otwarte tak by potem na nich ustawic przekierowanie do sieci lan. (na razie tego nie ustawialem ale np 1022 bedzie przekierowywalo na port 22 na jeden z kompow w sieci)
Firewall ustawiam na zewnetrznym IP, ktory ma dostep do sieci.
Moje pytani brzmia:
1) co mam nie tak ustawione w firewallu ze nie moge otworzyc tych portow?
2) czy jest jakies dodatkowe narzedzie ktore otwiera porty?
Z gory dzieki za pomoc
Julek
Offline
NTG
Offline
1) aby port byl otwarty musi cos na nim sluchac - masz cos odpalone na 1022?
2) zwroc uwage na domyslny zakres skanowania w nmapie (poczytaj man)
Edit:
poztym otwieranie portow w INPUT/OUTPUT na ogol* nie ma nic wspolnego z przekierowywaniem do LAN
*) chyba ze do przekierowywania uzywasz xinetd lub jemu podobnych a nie iptables
Ostatnio edytowany przez bercik (2009-06-17 12:55:29)
Offline
tzn nie dokonca rozumiem, poniewaz moge sobie ustawic np takie przekierowanie:
iptables -t nat -A PREROUTING -p tcp -i eth0 -d X.X.X.X/32 --dport 1022 -j DNAT --to-destination 192.168.1.13:22 gdzie X.X.X.X jest zew IP
i jak by port 1022 byl otwarty to by dzialalo. Jak przykladowo wgram apache`a, ktory nasluchuje na 80, to bez problemu dziala przekierowanie:
iptables -t nat -A PREROUTING -p tcp -i eth0 -d X.X.X.X/32 --dport 80 -j DNAT --to-destination 192.168.1.13:22 gdzie X.X.X.X jest zew IP
ale nie wiem jak zrobic aby port 1022 byl otwarty i serwer nasluchiwal na tym porcie. Ten port ma mi sluzych tylko i wylacznie do przekierowan z firewall`a do sieci LAN na port 22
Mozna to jakos rozwiazac?
Offline
1) do przekierowania portu przez iptables:
a) serwer nie musi sluchac na tym porcie (sluchanie byloby bezsensowne)
b) nie musisz otwierac portu w lancuchach INPUT i OUTPUT
c) musisz otworzyc FORWARD
2) twoje regulki otwieraja wskazane porty, ale to nie ma nic wspolnego z przekierowaniem
3) sluchanie mozesz zasymulowac nc -l -p1022 (w przypadku tego portu musisz dac to z root'a)
4) poleacm zrozumienie http://xkr47.outerspace.dyndns.org/netfilter/packet … et_flow10.png
Offline
mam tak:
eth0 - interfejs zewnetrzny
eth1 - interfejs do sieci wewnetrznej
X.X.X.X to jest zew adres dla sieci
Y.Y.Y.Y - to jest zew. IP serwera
#!/bin/bash
iptables -F
iptables -F PREROUTING -t nat
iptables -F POSTROUTING -t nat
iptables -A OUTPUT -d X.X.X.X/24 -j ACCEPT
iptables -A INPUT -s X.X.X.X/24 -j ACCEPT
iptables -A FORWARD -d X.X.X.X/24 -j ACCEPT
iptables -A FORWARD -s X.X.X.X/24 -j ACCEPT
iptables -A OUTPUT -s 192.168.1.0/24 -j ACCEPT
iptables -A INPUT -s 192.168.1.0/24 -j ACCEPT
iptables -A FORWARD -d 192.168.1.0/24 -j ACCEPT
iptables -A FORWARD -s 192.168.1.0/24 -j ACCEPT
iptables -A FORWARD -i eth1 -o eth0 -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT
iptables -A FORWARD -i eth0 -o eth1 -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A INPUT -i lo -j ACCEPT
iptables -A OUTPUT -o lo -j ACCEPT
iptables -A INPUT -i eth1 -s 192.168.1.0/24 -p tcp --dport 22 -j ACCEPT # ssh
iptables -A INPUT -i eth1 -s 192.168.1.0/24 -p udp --dport 22 -j ACCEPT # ssh
iptables -A INPUT -i eth1 -s 192.168.1.0/24 -p tcp --dport 80 -j ACCEPT # www
iptables -A FORWARD -i eth1 -s 192.168.1.0/24 -j ACCEPT
iptables -A FORWARD -d 192.168.1.13/32 -p tcp --dport 22 -j ACCEPT
iptables -t nat -A PREROUTING -p tcp -i eth0 -d Y.Y.Y.Y/32 --dport 1022 -j DNAT --to-destination 192.168.1.13:22
wiec wpuszczam wszystko do lokalnej, robie przekierowanie i dalej nic.
Czy ten skrypt jest poprawny?
Offline
troche zakrecony (np. iptables -A INPUT -i eth1 -s 192.168.1.0/24 -p tcp --dport * -j ACCEPT sa nie potrzebne bo masz iptables -A INPUT -s 192.168.1.0/24 -j ACCEPT, iptables -A FORWARD -i eth1 -s 192.168.1.0/24 -j ACCEPT tez nie wiadomo co ma robic), ale wyglada ze powinno dzialac
host 192.168.1.13 jest uruchomiony i dizala na nim ssh na porcie 22?
mozesz dodac logowanie pakietow (np. do i z 192.168.1.13/32 w lancuchu FORWARD) i zobaczyc dlaczego nie dziala ...
Offline
dzieki za pomoc. juz dziala. dodatkowo przed serwerem stal jak sie okazalo dodatkowy firewall, ktory blokowal wysokie porty. Konfiguracja bez faktycznie zbednych wpisow jest poprawna. :)
Offline