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:
http://oi43.tinypic.com/2yoeb9g.jpg

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 Blog, a później Tańczymy ;)

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/random
Zarejestrowany: 2008-01-07

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

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

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 Blog, a później Tańczymy ;)

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

lekr32 napisał(-a):

Kod:

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

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 Blog, a później Tańczymy ;)

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ć maskaradę, czyli NAT 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 Blog, a później Tańczymy ;)

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

działanie
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

dlaczego tak ?: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ć.

topic
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 Blog, a później Tańczymy ;)

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 Blog, a później Tańczymy ;)

Offline

 

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

  Jacekalex - Podobno człowiek...;)

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

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

ba10 napisał(-a):

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

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 Blog, a później Tańczymy ;)

Offline

 

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

  Jacekalex - Podobno człowiek...;)

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

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

Jacekalex
    Dzisiaj 20:30:28

Ostatnio edytowany przez ba10 (Dzisiaj 20:32:05)

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

Jacekalex napisał(-a):

Jacekalex
    Dzisiaj 20:30:28

Ostatnio edytowany przez ba10 (Dzisiaj 20:32:05)

Faktycznie, nie zauważyłem :D

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 Blog, a później Tańczymy ;)

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
Nas ludzie lubią po prostu, a nie klikając w przyciski ;-)