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
Jest główny router (ip_zew) z iptables i ssh na porcie 5656 - skróc. konfiguracja poniżej.
Jest w sieci lokalnej serwer (ip_ser) z ssh na porcie 22.
Nie mogę ustawić iptables tak aby wpisując ip_zew i port 22 bezpośrednio mógłbym się logować na serwer
#!/bin/sh ip_zew="xxxxx" ip_wew="192.168.0.0" ip_ser="192.168.0.2" port_ssh="5656" # 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 # ustawienie domyslnej polityki iptables -P INPUT ACCEPT iptables -P FORWARD ACCEPT iptables -P OUTPUT 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 # utrzymanie 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 # udostepniaie internetu w sieci lokalnej iptables -t nat -A POSTROUTING -s $ip_wew/24 -j MASQUERADE iptables -A FORWARD -s $ip_wew/24 -j ACCEPT # zezwolenie nna laczenie sie z naszym zewnetrznym ip po ssh zewnetrzne i wewnetrze iptables -A INPUT -i lo -j ACCEPT iptables -A FORWARD -o lo -j ACCEPT iptables -A INPUT -s 0/0 -d $ip_zew -p tcp --dport $port_ssh -j ACCEPT iptables -A OUTPUT -s 0/0 -d $ip_zew -p tcp --dport $port_ssh -j ACCEPT iptables -A INPUT -s 0/0 -d $ip_zew -p udp --dport $port_ssh -j ACCEPT iptables -A OUTPUT -s 0/0 -d $ip_zew -p udp --dport $port_ssh -j ACCEPT iptables -A INPUT -s 0/0 -d $ip_wew -p tcp --dport $port_ssh -j ACCEPT iptables -A OUTPUT -s 0/0 -d $ip_wew -p tcp --dport $port_ssh -j ACCEPT iptables -A INPUT -s 0/0 -d $ip_wew -p udp --dport $port_ssh -j ACCEPT iptables -A OUTPUT -s 0/0 -d $ip_wew -p udp --dport $port_ssh -j ACCEPT # puszczamy PING iptables -A INPUT -p icmp --icmp-type echo-request -j ACCEPT ##### Przekierowanie portu na serwer w sieci lokalnej ######################################################### iptables -A FORWARD -s $ip_wew/24 -d $ip_ser -p tcp -m tcp --dport 22 -m state --state NEW,ESTABLISHED -j ACCEPT iptables -A FORWARD -s $ip_wew/24 -d $ip_ser -j ACCEPT
Proszę o pomoc.
Pozdrawiam
Offline
Wydaje mi się, że masz zamienione $ip_wew z $ip_zew w przekierowaniu i dlatego nie działa.
Ostatnio edytowany przez Piotr3ks (2010-04-01 10:53:44)
Offline
Akurat to nie pomogło, ale pomogło:
##### Przekierowanie portu na serwer w sieci lokalnej ######################################################### iptables -I FORWARD -p tcp -d $ip_zew --dport 22 -j ACCEPT iptables -t nat -I PREROUTING -p tcp -i eth0 -d 0/0 --dport 22 -j DNAT --to $ip_ser
Mimo wszystko dzięki za odpowiedź.
Offline
a ja sie dołączę
mam w sieci lokalnej usługę uruchomiona na adresie 192.168.1.19:80 a che się do niej odwoływać poprzez port 666 na zewnętrznym adresie
czyli wpisując w przeglądarce zewnetrzny_ip:666 przerutowyuje mnie na 192.168.1.19:80
Offline
urbinek:
##### Przekierowanie portu na serwer w sieci lokalnej ######################################################### iptables -I FORWARD -p tcp -d $ip_zew --dport 22 -j ACCEPT iptables -t nat -I PREROUTING -p tcp -i eth0 -d 0/0 --dport 22 -j DNAT --to $ip_ser
To jest dokłądnie to co Preibx chciał osiągnąć :-)
Offline
Witam
Mam problem z przekierowaniem portów na serwer w sieci loklanej, mój iptables wygląda jak poniżej:
debian:/etc# cat /etc/init.d/firewall | more # wlaczenie w kernelu forwardowania echo 1 > /proc/sys/net/ipv4/ip_forward # czyszczenie starych regul iptables -F iptables -X iptables -t nat -X iptables -t nat -F # ustawienie polityki dzialania iptables -P INPUT DROP iptables -P FORWARD DROP iptables -P OUTPUT ACCEPT # zezwolenie nna laczenie sie z naszym zewnetrznym ip po ssh iptables -A INPUT -i lo -j ACCEPT iptables -A FORWARD -o lo -j ACCEPT iptables -A INPUT -s 0/0 -d 192.168.100.13 -p tcp --dport 22 -j ACCEPT iptables -A OUTPUT -s 0/0 -d 192.168.100.13 -p tcp --dport 22 -j ACCEPT iptables -A INPUT -s 0/0 -d 192.168.100.13 -p udp --dport 22 -j ACCEPT iptables -A OUTPUT -s 0/0 -d 192.168.100.13 -p udp --dport 22 -j ACCEPT # polaczenia nawiazane 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 # udostepniaie internetu w sieci lokalnej iptables -t nat -A POSTROUTING -s 192.168.123.0/24 -j MASQUERADE iptables -A FORWARD -s 192.168.123.0/24 -j ACCEPT ##### Przekierowanie portu na serwer w sieci lokalnej ######################################################### iptables -I FORWARD -p tcp -d 192.168.100.13 --dport 23 -j ACCEPT iptables -t nat -A PREROUTING -p tcp -i eth0 --destination-port 23:23 --destination 192.168.100.13 -j DNAT --to-destination 192.168.123.101
Niestety w żaden sposób nie udaje mi się przekierować portu 23 na komputer w sieci LAN. U mnie eth1 to sieć LAN, a eth0 to WAN.
debian:/etc# iptables --list Chain INPUT (policy DROP) target prot opt source destination ACCEPT all -- anywhere anywhere ACCEPT tcp -- anywhere 192.168.100.13 tcp dpt:ssh ACCEPT udp -- anywhere 192.168.100.13 udp dpt:ssh ACCEPT all -- anywhere anywhere state RELATED,ESTABLISHED Chain FORWARD (policy DROP) target prot opt source destination ACCEPT tcp -- anywhere 192.168.100.13 tcp dpt:telnet ACCEPT all -- anywhere anywhere ACCEPT all -- anywhere anywhere state RELATED,ESTABLISHED ACCEPT all -- 192.168.123.0/24 anywhere Chain OUTPUT (policy ACCEPT) target prot opt source destination ACCEPT tcp -- anywhere 192.168.100.13 tcp dpt:ssh ACCEPT udp -- anywhere 192.168.100.13 udp dpt:ssh ACCEPT all -- anywhere anywhere state RELATED,ESTABLISHED debian:/etc# iptables -t nat -vnL Chain PREROUTING (policy ACCEPT 18057 packets, 2003K bytes) pkts bytes target prot opt in out source destination 2 104 DNAT tcp -- eth0 * 0.0.0.0/0 192.168.100.13 tcp dpt:23 to:192.168.123.101 Chain POSTROUTING (policy ACCEPT 6278 packets, 429K bytes) pkts bytes target prot opt in out source destination 9 2270 MASQUERADE all -- * * 192.168.123.0/24 0.0.0.0/0 Chain OUTPUT (policy ACCEPT 6944 packets, 545K bytes) pkts bytes target prot opt in out source destination
Może wy mi powiecie co ja źle robię bo już próbowałem kilka opcji i nic nie pomaga.
Ostatnio edytowany przez yogi3 (2010-11-19 09:58:05)
Offline
Problem rozwiązany, poniżej działający kod:
# wlaczenie w kernelu forwardowania echo 1 > /proc/sys/net/ipv4/ip_forward # czyszczenie starych regul iptables -F iptables -X iptables -t nat -X iptables -t nat -F # ustawienie polityki dzialania iptables -P INPUT DROP iptables -P FORWARD DROP iptables -P OUTPUT ACCEPT # zezwolenie nna laczenie sie z naszym zewnetrznym ip po ssh iptables -A INPUT -i lo -j ACCEPT iptables -A FORWARD -o lo -j ACCEPT iptables -A INPUT -s 0/0 -d 192.168.100.13 -p tcp --dport 22 -j ACCEPT iptables -A OUTPUT -s 0/0 -d 192.168.100.13 -p tcp --dport 22 -j ACCEPT iptables -A INPUT -s 0/0 -d 192.168.100.13 -p udp --dport 22 -j ACCEPT iptables -A OUTPUT -s 0/0 -d 192.168.100.13 -p udp --dport 22 -j ACCEPT # polaczenia nawiazane 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 # udostepniaie internetu w sieci lokalnej iptables -t nat -A POSTROUTING -s 192.168.123.0/24 -j MASQUERADE iptables -A FORWARD -s 192.168.123.0/24 -j ACCEPT ##### Przekierowanie portu na serwer w sieci lokalnej ######################################################### iptables -I FORWARD -p tcp -i eth0 -o eth1 --dport 23 -j ACCEPT iptables -t nat -I PREROUTING -p tcp -i eth0 --destination-port 23:23 --destination 192.168.100.13 -j DNAT --to-destination 192.168.123.101 iptables -I FORWARD -p tcp -i eth0 -o eth1 --dport 3389 -j ACCEPT iptables -t nat -I PREROUTING -p tcp -i eth0 --destination-port 3389:3389 --destination 192.168.100.13 -j DNAT --to-destination 192.168.123.3 iptables -I FORWARD -p udp -i eth0 -o eth1 --dport 3389 -j ACCEPT iptables -t nat -I PREROUTING -p udp -i eth0 --destination-port 3389:3389 --destination 192.168.100.13 -j DNAT --to-destination 192.168.123.3
Offline
Ja mam tak i działa
INTER="eth1"
oczywiście eth1 to karta ze strony świata
oraz wpis
iptables -A INPUT -i $INTER -p tcp -m multiport --dport 80,110,113,5555,10000 -j ACCEPT
potem
iptables -t nat -A PREROUTING -i $INTER -p -tcp -d ipzewnetrzne --dport 5555 -j DNAT --to-destination 192.168.0.100:22
łączyś sie zdalnie z kompterem w lanie pisząc ipzewnetrzne:5555 wtedy nastąpi przekierowanie na komputer 192.168.0.100:22 czyli na porcie 22, inaczej mówiąc przekierowuje port 5555 na ipzewnetrzym na port 22 na 192.168.0.100
Offline