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 - Użytkownik

urbinek
Użytkownik
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 :)
[img]http://nginx.urbinek.eu/_photos/signature.png[/img]

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

[b]urbinek[/b]:

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


[url=http://dug.net.pl][b]DUG[/b][/url]

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
To nie jest tylko forum, to nasza mała ojczyzna ;-)

[ Generated in 0.017 seconds, 11 queries executed ]

Informacje debugowania

Time (s) Query
0.00007 SET CHARSET latin2
0.00004 SET NAMES latin2
0.00064 SELECT u.*, g.*, o.logged FROM punbb_users AS u INNER JOIN punbb_groups AS g ON u.group_id=g.g_id LEFT JOIN punbb_online AS o ON o.ident='3.144.43.194' WHERE u.id=1
0.00258 REPLACE INTO punbb_online (user_id, ident, logged) VALUES(1, '3.144.43.194', 1732702494)
0.00057 SELECT * FROM punbb_online WHERE logged<1732702194
0.00051 SELECT topic_id FROM punbb_posts WHERE id=144474
0.00004 SELECT id FROM punbb_posts WHERE topic_id=16511 ORDER BY posted
0.00030 SELECT t.subject, t.closed, t.num_replies, t.sticky, f.id AS forum_id, f.forum_name, f.moderators, fp.post_replies, 0 FROM punbb_topics AS t INNER JOIN punbb_forums AS f ON f.id=t.forum_id LEFT JOIN punbb_forum_perms AS fp ON (fp.forum_id=f.id AND fp.group_id=3) WHERE (fp.read_forum IS NULL OR fp.read_forum=1) AND t.id=16511 AND t.moved_to IS NULL
0.00054 SELECT search_for, replace_with FROM punbb_censoring
0.00753 SELECT u.email, u.title, u.url, u.location, u.use_avatar, u.signature, u.email_setting, u.num_posts, u.registered, u.admin_note, p.id, p.poster AS username, p.poster_id, p.poster_ip, p.poster_email, p.message, p.hide_smilies, p.posted, p.edited, p.edited_by, g.g_id, g.g_user_title, o.user_id AS is_online FROM punbb_posts AS p INNER JOIN punbb_users AS u ON u.id=p.poster_id INNER JOIN punbb_groups AS g ON g.g_id=u.group_id LEFT JOIN punbb_online AS o ON (o.user_id=u.id AND o.user_id!=1 AND o.idle=0) WHERE p.topic_id=16511 ORDER BY p.id LIMIT 0,25
0.00256 UPDATE punbb_topics SET num_views=num_views+1 WHERE id=16511
Total query time: 0.01538 s