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, 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:
pozdrawiam.
Offline
Zakładam, że port TCP i że tam jest jakaś maskarada, że eth0 to WAN, ( niesprawdzane ) :
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
Offline
bosko że odpisałeś :)
mój plik firewall,
[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:
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
Dodaj na początku skryptu (po #!/bin/sh)
set -x
to się dowiesz, na czym się wywala.
Ostatnio edytowany przez Jacekalex (2012-03-11 16:25:45)
Offline
Przy
DNAT -to IP-DES:6666
powinno być dwa razy "--" zjadło mi się, czyli
DNAT --to IP-DES:6666
Offline
po odświeżeniu conf.
/etc/init.d/firewall
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
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 :
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)
Offline
odświeżyłem firewalla twoim ostatnim pomysłem i klapa.
+ 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:
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
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)
Offline
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
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 :)
Offline
okej, dzięki bardzo, będę obserwował temat :)
tylko zastanawiam się dalej co z tą maskaradą.
Offline
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.
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 :)
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)
Offline
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 80LOL
Jaką masz wersję Iptables?
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.
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:
iptables -t nat -A.... iptables -t raw -A... iptables -t mangle -A......
Dodatkowo:
x_tables: ip_tables: REDIRECT target: only valid in nat table, not mangle
Za uwagę dziękuje:
net-firewall/iptables-1.4.12.1
To by było na tyle
;-)
Ostatnio edytowany przez Jacekalex (2012-03-13 20:32:12)
Offline
Przecież jest podana, co się czepiasz ?:D
Offline
Jacekalex
Dzisiaj 20:30:28
Ostatnio edytowany przez ba10 (Dzisiaj 20:32:05)
Faktycznie, nie zauważyłem :D
Offline
Jacekalex napisał(-a):
Jacekalex
Dzisiaj 20:30:28Ostatnio edytowany przez ba10 (Dzisiaj 20:32:05)
Faktycznie, nie zauważyłem :D
No i tak trzymać :D
Offline
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