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!

Ogłoszenie

Prosimy o pomoc dla małej Julki — przekaż 1% podatku na Fundacji Dzieciom zdazyć z Pomocą.
Więcej informacji na dug.net.pl/pomagamy/.

#1  2010-04-01 10:34:59

  Preibx - Użytkownik

Preibx
Użytkownik
Zarejestrowany: 2006-03-12

iptables - przekierowanie portu

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

Kod:

#!/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

 

#2  2010-04-01 10:51:55

  Piotr3ks - Też człowiek :-)

Piotr3ks
Też człowiek :-)
Skąd: Białystok
Zarejestrowany: 2007-06-24

Re: iptables - przekierowanie portu

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

 

#3  2010-04-01 17:04:58

  Preibx - Użytkownik

Preibx
Użytkownik
Zarejestrowany: 2006-03-12

Re: iptables - przekierowanie portu

Akurat to nie pomogło, ale pomogło:

Kod:

##### 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

 

#4  2010-04-02 00:05:23

  urbinek - Dzban Naczelny

urbinek
Dzban Naczelny
Skąd: Sosnowiec
Zarejestrowany: 2009-10-01
Serwis

Re: iptables - przekierowanie portu

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


A w wolnym czasie, robię noże :)
http://nginx.urbinek.eu/_photos/signature.png

Offline

 

#5  2010-04-02 08:51:19

  Piotr3ks - Też człowiek :-)

Piotr3ks
Też człowiek :-)
Skąd: Białystok
Zarejestrowany: 2007-06-24

Re: iptables - przekierowanie portu

urbinek:

Kod:

##### 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

 

#6  2010-11-19 09:55:29

  yogi3 - Nowy użytkownik

yogi3
Nowy użytkownik
Zarejestrowany: 2010-11-19

Re: iptables - przekierowanie portu

Witam

Mam problem z przekierowaniem portów na serwer w sieci loklanej, mój iptables wygląda jak poniżej:

Kod:

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.

Kod:

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

 

#7  2010-11-19 19:28:39

  BiExi - matka przelozona

BiExi
matka przelozona
Skąd: Gorlice
Zarejestrowany: 2004-04-16
Serwis

Re: iptables - przekierowanie portu

yogi3 reguły od przekierowania portu muszą być  przed tegułami z masquarda

Offline

 

#8  2010-11-19 19:57:35

  yogi3 - Nowy użytkownik

yogi3
Nowy użytkownik
Zarejestrowany: 2010-11-19

Re: iptables - przekierowanie portu

Problem rozwiązany, poniżej działający kod:

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

 

#9  2010-11-21 15:17:13

  askorka - Użytkownik

askorka
Użytkownik
Skąd: Śląsk
Zarejestrowany: 2007-01-07

Re: iptables - przekierowanie portu

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

 

Stopka forum

Powered by PunBB
© Copyright 2002–2005 Rickard Andersson
Nas ludzie lubią po prostu, a nie klikając w przyciski ;-)