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  2012-03-11 13:44:56

  lekr32 - Użytkownik

lekr32
Użytkownik
Zarejestrowany: 2010-11-02

Przekierowanie portu w zależności od ip

witam, mam takie pytanie:
1. jaką regułę potrzebuje aby z konkretnego ip (np. xxx.xxx.xxx.xxx) który łączy się z moim serwerem PRZEKIEROWAĆ GO z portu 6000 na 6666 a jeżeli ip jego jest = bbb.bbb.bbb.bbb to przekierować go z 6000 na 6667.

schemat:
[img]http://oi43.tinypic.com/2yoeb9g.jpg[/img]

pozdrawiam.

Offline

 

#2  2012-03-11 15:22:35

  ba10 - Członek DUG

ba10
Członek DUG
Skąd: jesteś ?
Zarejestrowany: 2006-03-07
Serwis

Re: Przekierowanie portu w zależności od ip

Zakładam, że port TCP i że tam jest jakaś maskarada, że eth0 to WAN,  ( niesprawdzane ) :

Kod:

iptables -A INPUT -p tcp -i eth0 --dport 6000 - j ACCEPT
iptables -t nat -A POSTROUTING -p tcp -i eth0 -d Y.Y.Y.Y --dport 6000 -j DNAT -to 192.168.100.100:6666
iptables -t nat -A POSTROUTING -p tcp -i eth0 -d B.B.B.B --dport 6000 -j DNAT -to 192.168.100.101:6667

"Jeżeli chcesz się nauczyć Linuksa, to pierwsze co musisz zrobić to odrzucić wszelkie przyzwyczajenia wyniesione z poprzedniego systemu. Twoja wiedza jest o tyle zgubna, że daje Ci poczucie że coś jednak wiesz — jednak w kontekście Linuksa prawdopodobnie nie wiesz jeszcze nic." Minio
Mój [url=jarekw.eu]Blog[/url], a później [url=tanczymy.com]Tańczymy[/url] ;)

Offline

 

#3  2012-03-11 16:18:04

  lekr32 - Użytkownik

lekr32
Użytkownik
Zarejestrowany: 2010-11-02

Re: Przekierowanie portu w zależności od ip

bosko że odpisałeś :)
mój plik firewall,

Kod:

[b] /etc/init.d/firewall[/b]
iptables -X
iptables -t nat -X
iptables -t nat -F
iptables -P INPUT DROP
iptables -P FORWARD DROP
iptables -P OUTPUT ACCEPT
iptables -A INPUT -i lo -j ACCEPT
iptables -A FORWARD -o lo -j ACCEPT
iptables -A INPUT -j ACCEPT -m state --state ESTABLISHED,RELATED
iptables -A FORWARD -j ACCEPT -m state --state ESTABLISHED,RELATED

iptables -A INPUT -s 0/0 -p tcp --dport 22 -j ACCEPT
iptables -A INPUT -s 0/0 -p udp --dport 22 -j ACCEPT

iptables -A INPUT -s 0/0 -p tcp --dport 80 -j ACCEPT
iptables -A INPUT -s 0/0 -p udp --dport 80 -j ACCEPT

iptables -A INPUT -p tcp -i eth0 --dport 6000 - j ACCEPT
iptables -t nat -A POSTROUTING -p tcp -i eth0 -d IP-SOUR --dport 6000 -j DNAT -to IP-DES:6666

ip-sour - to ip tego klienta,
ip-des - to ip przekierowania,

podczas przeładowania otrzymuje:

Kod:

Bad argument `-'
Try `iptables -h' or 'iptables --help' for more information.
Bad argument `[b] ip-dist[/b]:3784'
Try `iptables -h' or 'iptables --help' for more information.

hmm,

Offline

 

#4  2012-03-11 16:24:29

  Jacekalex - Podobno człowiek...;)

Jacekalex
Podobno człowiek...;)
Skąd: /dev/urandom
Zarejestrowany: 2008-01-07

Re: Przekierowanie portu w zależności od ip

Dodaj na początku skryptu (po  [b]#!/bin/sh[/b])

Kod:

set -x

to się dowiesz, na czym się wywala.

Ostatnio edytowany przez Jacekalex (2012-03-11 16:25:45)


W demokracji każdy naród ma taką władzę, na jaką zasługuje ;)
Si vis pacem  para bellum  ;)       |       Pozdrawiam :)

Offline

 

#5  2012-03-11 19:07:20

  ba10 - Członek DUG

ba10
Członek DUG
Skąd: jesteś ?
Zarejestrowany: 2006-03-07
Serwis

Re: Przekierowanie portu w zależności od ip

Przy

Kod:

DNAT -to IP-DES:6666

powinno być dwa razy "--" zjadło mi się, czyli

Kod:

DNAT --to IP-DES:6666

"Jeżeli chcesz się nauczyć Linuksa, to pierwsze co musisz zrobić to odrzucić wszelkie przyzwyczajenia wyniesione z poprzedniego systemu. Twoja wiedza jest o tyle zgubna, że daje Ci poczucie że coś jednak wiesz — jednak w kontekście Linuksa prawdopodobnie nie wiesz jeszcze nic." Minio
Mój [url=jarekw.eu]Blog[/url], a później [url=tanczymy.com]Tańczymy[/url] ;)

Offline

 

#6  2012-03-11 19:31:49

  lekr32 - Użytkownik

lekr32
Użytkownik
Zarejestrowany: 2010-11-02

Re: Przekierowanie portu w zależności od ip

po odświeżeniu conf.

Kod:

 /etc/init.d/firewall

Kod:

iptables v1.4.8: Can't use -i with POSTROUTING

Try `iptables -h' or 'iptables --help' for more information.

próbowałem już dużo opcji, oraz nadal tak samo. :(

Offline

 

#7  2012-03-11 21:58:54

  ba10 - Członek DUG

ba10
Członek DUG
Skąd: jesteś ?
Zarejestrowany: 2006-03-07
Serwis

Re: Przekierowanie portu w zależności od ip

[quote=lekr32]

Kod:

iptables v1.4.8: Can't use -i with POSTROUTING

[/quote]
Jejku ja naprawdę jakiś przemęczony , PREROUTING powinno być.

Edyyka :

Zastanawiam się czy nie zadziałałaby jeszcze regułka tego typu :

Kod:

iptables -t nat -A PREROUTING -i eth0 -p tcp -d Y.Y.Y.Y --dport 6000 -j REDIRECT --to-port 6666

ale to do sprawdzenia. :)

Ostatnio edytowany przez ba10 (2012-03-12 08:01:20)


"Jeżeli chcesz się nauczyć Linuksa, to pierwsze co musisz zrobić to odrzucić wszelkie przyzwyczajenia wyniesione z poprzedniego systemu. Twoja wiedza jest o tyle zgubna, że daje Ci poczucie że coś jednak wiesz — jednak w kontekście Linuksa prawdopodobnie nie wiesz jeszcze nic." Minio
Mój [url=jarekw.eu]Blog[/url], a później [url=tanczymy.com]Tańczymy[/url] ;)

Offline

 

#8  2012-03-12 18:40:23

  lekr32 - Użytkownik

lekr32
Użytkownik
Zarejestrowany: 2010-11-02

Re: Przekierowanie portu w zależności od ip

odświeżyłem firewalla twoim ostatnim pomysłem i klapa.

Kod:

+ iptables -t nat -A PREROUTING -i eth0 -p tcp -d 8.23.224.110 --dport 6000 -j REDIRECT --to-port 6666

takie coś nadal dostaje:

Kod:

 Bad argument `-'
Try `iptables -h' or 'iptables --help' for more information.
+ iptables -t nat -A PREROUTING -i venet0 -p tcp -d 8.23.224.110 --dport 6000 -j REDIRECT --to-port 6666

tamten przykład już z malutką zmianą bo zapomniałem wspomnieć, że nie posiadam FIZYCZNEJ karty sieciowej tylko wirtualną, bo to vps :)
dzięki wielkie że próbowałeś i próbujesz mi pomoc. ;-)

Offline

 

#9  2012-03-12 22:41:24

  ba10 - Członek DUG

ba10
Członek DUG
Skąd: jesteś ?
Zarejestrowany: 2006-03-07
Serwis

Re: Przekierowanie portu w zależności od ip

Przy tej poprzedniej wersji to musisz mieć [url=http://dug.net.pl/tekst/31/udostepnienie_polaczenia_internetowego_(masq)/]maskaradę[/url], czyli [url=http://pl.wikipedia.org/wiki/Network_Address_Translation]NAT[/url] by zadziałało bo przekształcasz adresy ip na inne, a później ta regułką je przekierowujesz. Ten ostatni pomysł był nie sprawdzany i tak z głowy wzięty. Jutro postaram się wygospodarować trochę czasu  i na wirtualnych maszynach sobie to zrobię. :)
Na vpsie powiadasz, to może jakbyś mógł opisać dokładnie co chcesz osiągnąć, bo jak się domyślam ( a nie lubię się domyślać ;) ) to chcesz by coś na vps trafiało na port tam 6000 i przekształcało na 6666 lokalnie , na tej samej maszynie tak ? Czy pchało to gdzieś dalej ? Opisz dokładnie bo diabeł tkwi w szczegółach :)

Ostatnio edytowany przez ba10 (2012-03-12 22:42:06)


"Jeżeli chcesz się nauczyć Linuksa, to pierwsze co musisz zrobić to odrzucić wszelkie przyzwyczajenia wyniesione z poprzedniego systemu. Twoja wiedza jest o tyle zgubna, że daje Ci poczucie że coś jednak wiesz — jednak w kontekście Linuksa prawdopodobnie nie wiesz jeszcze nic." Minio
Mój [url=jarekw.eu]Blog[/url], a później [url=tanczymy.com]Tańczymy[/url] ;)

Offline

 

#10  2012-03-12 22:53:21

  lekr32 - Użytkownik

lekr32
Użytkownik
Zarejestrowany: 2010-11-02

Re: Przekierowanie portu w zależności od ip

[b]działanie[/b]
chce w zależności od ip które wchodzi do maszyny (będą dwa - jeden z dyndns oraz no-ip.org)
przenosił z portu 6000 na port:
- dla osób z dyndns: 6666
- dla osób z no-ip: 6667

[b] dlaczego tak ?:[/b]dzięki temu, mogę odpalić dwie usługi na jednym porcie, na chwilę obecną testuje czy takie coś ma rację jakiegokolwiek bytu.
co do; prościej byłoby dokupić ip, ale jak to jak lubię kombinować.

[b]topic[/b]
co do masq, to muszę robić dns/dhcp i większość, jeżeli to będzie tylko vps? a jeżeli tak, to które pkt mam objać w swojej konfiguracji z podanego linka? :) podpowiem że tak dogłębnie to pierwszy raz kombinuje z firewallem, tzn. tak więcej kombinuje.

Pozdrawiam i życzę miłego wieczoru :)

Offline

 

#11  2012-03-12 23:00:55

  ba10 - Członek DUG

ba10
Członek DUG
Skąd: jesteś ?
Zarejestrowany: 2006-03-07
Serwis

Re: Przekierowanie portu w zależności od ip

Jutro postaram się ( ale nie obiecuje ) pokombinować, bo muszę mieć to przed oczami :D
Jak jakies wnioski będe miał, nie omieszkam się je tutaj napisać :)
Dzięki, wzajemnie :)


"Jeżeli chcesz się nauczyć Linuksa, to pierwsze co musisz zrobić to odrzucić wszelkie przyzwyczajenia wyniesione z poprzedniego systemu. Twoja wiedza jest o tyle zgubna, że daje Ci poczucie że coś jednak wiesz — jednak w kontekście Linuksa prawdopodobnie nie wiesz jeszcze nic." Minio
Mój [url=jarekw.eu]Blog[/url], a później [url=tanczymy.com]Tańczymy[/url] ;)

Offline

 

#12  2012-03-12 23:46:08

  lekr32 - Użytkownik

lekr32
Użytkownik
Zarejestrowany: 2010-11-02

Re: Przekierowanie portu w zależności od ip

okej, dzięki bardzo, będę obserwował temat :)
tylko zastanawiam się dalej co z tą maskaradą.

Offline

 

#13  2012-03-13 20:12:24

  ba10 - Członek DUG

ba10
Członek DUG
Skąd: jesteś ?
Zarejestrowany: 2006-03-07
Serwis

Re: Przekierowanie portu w zależności od ip

Ten drugi wpis co dałem  okazuje się najlepszym wyjściem, ładnie przekierowuje porty. A więc w przykładzie poniżej 192.168.100.1 to server 192.168.100.2 i 192.168.100.3 to klienci. Port na którym usługa działa to 2222 porty przypisane do danych adresów ip to 44444 do 192.168.100.2 i 44443 do 192.168.100.3.
Musimy te porty otworzyć w iptables, a następnie będziemy je przekierowywali do odpowiedniego portu usługi czyli w tym przypadku 2222.

Kod:

iptables -A INPUT -p tcp --dport 44444 -j ACCEPT
iptables -t nat -A PREROUTING -s 192.168.100.2/32 -d 192.168.100.1/32 -p tcp --dport 44444 -j REDIRECT --to-ports 2222
iptables -A INPUT -p tcp --dport 44443 -j ACCEPT
iptables -t nat -A PREROUTING -s 192.168.100.3/32 -d 192.168.100.1/32 -p tcp --dport 44443 -j REDIRECT --to-ports 2222

Mam nadzieje, że przez ten przykład złapiesz sens i sobie to przekształcisz na swój sposób. Pamiętaj, że reguły są wykonywane po kolei z góry na dół, więc uważaj co tam blokujesz przed tymi regułami, bo może to po prostu nie zadziałać. ;)
Edytka
O cholera ty chciałeś żeby to było na odwrót :D
No to otwierasz tylko jeden port w przypadku powyżej 44444, a resztę przekierowujesz gdzie tam chcesz :)

Kod:

iptables -A INPUT -p tcp --dport 44444 -j ACCEPT
iptables -t nat -A PREROUTING -s 192.168.100.2/32 -d 192.168.100.1/32 -p tcp --dport 44444 -j REDIRECT --to-ports 2222
iptables -t nat -A PREROUTING -s 192.168.100.3/32 -d 192.168.100.1/32 -p tcp --dport 44444 -j REDIRECT --to-ports 80

SOA#1
A maskarade olej :)
LOL

Ostatnio edytowany przez ba10 (2012-03-13 20:32:05)


"Jeżeli chcesz się nauczyć Linuksa, to pierwsze co musisz zrobić to odrzucić wszelkie przyzwyczajenia wyniesione z poprzedniego systemu. Twoja wiedza jest o tyle zgubna, że daje Ci poczucie że coś jednak wiesz — jednak w kontekście Linuksa prawdopodobnie nie wiesz jeszcze nic." Minio
Mój [url=jarekw.eu]Blog[/url], a później [url=tanczymy.com]Tańczymy[/url] ;)

Offline

 

#14  2012-03-13 20:30:28

  Jacekalex - Podobno człowiek...;)

Jacekalex
Podobno człowiek...;)
Skąd: /dev/urandom
Zarejestrowany: 2008-01-07

Re: Przekierowanie portu w zależności od ip

[quote=ba10]O cholera ty chciałeś żeby to było na odwrót :D
No to otwierasz tylko jeden port w przypadku powyżej 44444, a resztę przekierowujesz gdzie tam chcesz :)

Kod:

iptables -A INPUT -p tcp --dport 44444 -j ACCEPT
iptables -t -A PREROUTING -s 192.168.100.2/32 -d 192.168.100.1/32 -p tcp --dport 44444 -j REDIRECT --to-ports 2222
iptables -t -A PREROUTING -s 192.168.100.3/32 -d 192.168.100.1/32 -p tcp --dport 44444 -j REDIRECT --to-ports 80

LOL[/quote]
Jaką masz wersję Iptables?

Kod:

iptables -t -A PREROUTING -s 192.168.100.2/32 -d 192.168.100.1/32 -p tcp --dport 44444 -j REDIRECT --to-ports 2222
Bad argument `PREROUTING'
Try `iptables -h' or 'iptables --help' for more information.

Kod:

 iptables -t -A PREROUTING -s 192.168.100.3/32 -d 192.168.100.1/32 -p tcp --dport 44443 -j REDIRECT --to-ports 2222
Bad argument `PREROUTING'
Try `iptables -h' or 'iptables --help' for more information.

Wskazując tablicę, musisz podać nazwę tablicy, np:

Kod:

iptables -t nat -A....
iptables -t raw -A...
iptables -t mangle -A......

Dodatkowo:

Kod:

x_tables: ip_tables: REDIRECT target: only valid in nat table, not mangle

Za uwagę dziękuje:

Kod:

net-firewall/iptables-1.4.12.1

To by było na tyle
;-)

Ostatnio edytowany przez Jacekalex (2012-03-13 20:32:12)


W demokracji każdy naród ma taką władzę, na jaką zasługuje ;)
Si vis pacem  para bellum  ;)       |       Pozdrawiam :)

Offline

 

#15  2012-03-13 20:32:40

  ba10 - Członek DUG

ba10
Członek DUG
Skąd: jesteś ?
Zarejestrowany: 2006-03-07
Serwis

Re: Przekierowanie portu w zależności od ip

Przecież jest podana, co się czepiasz ?:D


"Jeżeli chcesz się nauczyć Linuksa, to pierwsze co musisz zrobić to odrzucić wszelkie przyzwyczajenia wyniesione z poprzedniego systemu. Twoja wiedza jest o tyle zgubna, że daje Ci poczucie że coś jednak wiesz — jednak w kontekście Linuksa prawdopodobnie nie wiesz jeszcze nic." Minio
Mój [url=jarekw.eu]Blog[/url], a później [url=tanczymy.com]Tańczymy[/url] ;)

Offline

 

#16  2012-03-13 20:35:46

  Jacekalex - Podobno człowiek...;)

Jacekalex
Podobno człowiek...;)
Skąd: /dev/urandom
Zarejestrowany: 2008-01-07

Re: Przekierowanie portu w zależności od ip

Jacekalex
    Dzisiaj [b]20:30:28[/b][/quote]

Ostatnio edytowany przez ba10 (Dzisiaj [b]20:32:05[/b])[/quote]
Faktycznie, nie zauważyłem :D


W demokracji każdy naród ma taką władzę, na jaką zasługuje ;)
Si vis pacem  para bellum  ;)       |       Pozdrawiam :)

Offline

 

#17  2012-03-13 20:39:47

  ba10 - Członek DUG

ba10
Członek DUG
Skąd: jesteś ?
Zarejestrowany: 2006-03-07
Serwis

Re: Przekierowanie portu w zależności od ip

[quote=Jacekalex]

Jacekalex
    Dzisiaj [b]20:30:28[/b][/quote]

Ostatnio edytowany przez ba10 (Dzisiaj [b]20:32:05[/b])[/quote]
Faktycznie, nie zauważyłem :D[/quote]
No i tak trzymać :D


"Jeżeli chcesz się nauczyć Linuksa, to pierwsze co musisz zrobić to odrzucić wszelkie przyzwyczajenia wyniesione z poprzedniego systemu. Twoja wiedza jest o tyle zgubna, że daje Ci poczucie że coś jednak wiesz — jednak w kontekście Linuksa prawdopodobnie nie wiesz jeszcze nic." Minio
Mój [url=jarekw.eu]Blog[/url], a później [url=tanczymy.com]Tańczymy[/url] ;)

Offline

 

#18  2012-03-13 23:27:43

  lekr32 - Użytkownik

lekr32
Użytkownik
Zarejestrowany: 2010-11-02

Re: Przekierowanie portu w zależności od ip

dziękuje, napracowałeś się i możesz być dumny bo działa tak jak powinno, ale zastanawiam się jak wychwycić ip przekierowania (ip maszyny która przekierowuje na mój ip, tj. np. dyndns/no-ip.org) ? bo widzi mnie nie jako od nich, ale jako osobny ip, :)

a dokładniej ip hopto.org to: 8.23.224.110, a widzi mnie jako 91.***.***.*** :)

Offline

 

Stopka forum

Powered by PunBB
© Copyright 2002–2005 Rickard Andersson
Możesz wyłączyć AdBlock — tu nie ma reklam ;-)

[ Generated in 0.010 seconds, 11 queries executed ]

Informacje debugowania

Time (s) Query
0.00009 SET CHARSET latin2
0.00003 SET NAMES latin2
0.00063 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='18.119.127.13' WHERE u.id=1
0.00145 UPDATE punbb_online SET logged=1732490559 WHERE ident='18.119.127.13'
0.00026 SELECT * FROM punbb_online WHERE logged<1732490259
0.00042 SELECT topic_id FROM punbb_posts WHERE id=197631
0.00184 SELECT id FROM punbb_posts WHERE topic_id=20864 ORDER BY posted
0.00065 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=20864 AND t.moved_to IS NULL
0.00005 SELECT search_for, replace_with FROM punbb_censoring
0.00093 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=20864 ORDER BY p.id LIMIT 0,25
0.00078 UPDATE punbb_topics SET num_views=num_views+1 WHERE id=20864
Total query time: 0.00713 s