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 serwer dedykowany z Debianem 7.4. Chciałem dzisiaj postawić na nim VPS z Freebsd 10. Jakiś czas temu postawiłem VPS z Freebsd 8.0 jednak teraz muszę przejść do 10 bo wymagają tego binarki gry.
Wtedy przekierowywałem porty ssh,ftp,mysql etc. używając czegoś takiego
iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 2230 -j DNAT --to 192.168.100.167:22 iptables -t nat -A PREROUTING -i eth0 -p udp --dport 2230 -j DNAT --to 192.168.100.167:22 iptables -A FORWARD -i eth0 -o virbr0 -p tcp --dport 2230 -j ACCEPT; iptables -A FORWARD -i eth0 -o virbr0 -p udp --dport 2230 -j ACCEPT;
i wszystko działało, teraz jeśli łaczę się przez putty przez ip zewnętrzne dedyka na porcie 2230 mam timed out natomiast jeśli najpierw zaloguję sie na ssh dedyka a potem wpisze ssh 192.168.100.167 mogę wejść do ssh freebsd. Freebsd ma dostęp do internetu pingowałem różne strony i pobierałem pliki.
Vps'a postawiłem przez Virtual Machine Manager
Ifconfig dedyka wygląda tak - [url]http://screenshooter.net/100078482/vtohwnn[/url]
Ifconfig Freebsd wyglą tak - [url]http://screenshooter.net/100078482/mewxxrh[/url]
Z góry dziękuję za pomoc
Offline
a włączyłeś IP forward?
echo 1 > /proc/sys/net/ipv4/ip_forward
albo w /etc/sysctl.conf
net.ipv4.ip_forward=1
Offline
Zrobiłem jak napisałeś bo faktycznie było na 0 jak tylko będę mógł za kilka h zresetuje sieć i powiem co z tego jest.
Offline
Mam Timed out
Offline
Kod:
iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 2230 -j DNAT --to 192.168.100.167:22 iptables -t nat -A PREROUTING -i eth0 -p udp --dport 2230 -j DNAT --to 192.168.100.167:22 iptables -A FORWARD -i eth0 -o virbr0 -p tcp --dport 2230 -j ACCEPT; iptables -A FORWARD -i eth0 -o virbr0 -p udp --dport 2230 -j ACCEPT;[/quote]
DNAT zrobiony, a SNAT w drugą stronę krasnoludki mają zrobić?
Przecież jak pakiet wejdzie, to musi jakoś wrócić, jak już robisz NAT,
i działa PREROUTING, to jeszcze musisz zrobić SNAT albo maskaradę, żeby ten pakiet z powrotem też był prawidłowo adresowany, bo inaczej nigdzie nie dojdzie.
W dodatku nie pokazałeś całego FW, a w Netfilterze kluczowa jest kolejność reguł.Ostatnio edytowany przez Jacekalex (2014-07-31 14:59:48)
W demokracji każdy naród ma taką władzę, na jaką zasługuje ;)
Si vis pacem para bellum ;) | Pozdrawiam :)
Offline
iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
@Jacekalex:
racja, to powinno załatwić sprawe
a przynajmniej u mnie działa
Ostatnio edytowany przez ramsi1986 (2014-07-31 15:25:34)
Offline
masz zmienny adres ip na dedyku?
bo jeśli nie to może lepiej zastosować prawidłowy target?
Offline
@ethanak mam stałe.
@Jacekalex jestem zielony w forwardowaniu te zasady iptables które napisałem 1 poście znalazłem w jakimś temacie na innym forum i działało po wklepaniu tych 4 linijek na każdy port.
iptables -S
-P INPUT ACCEPT -P FORWARD ACCEPT -P OUTPUT ACCEPT -A INPUT -i virbr0 -p udp -m udp --dport 53 -j ACCEPT -A INPUT -i virbr0 -p tcp -m tcp --dport 53 -j ACCEPT -A INPUT -i virbr0 -p udp -m udp --dport 67 -j ACCEPT -A INPUT -i virbr0 -p tcp -m tcp --dport 67 -j ACCEPT -A FORWARD -d 192.168.100.0/24 -i eth0 -o virbr0 -m state --state RELATED,ESTABLISHED -j ACCEPT -A FORWARD -s 192.168.100.0/24 -i virbr0 -o eth0 -j ACCEPT -A FORWARD -i virbr0 -o virbr0 -j ACCEPT -A FORWARD -o virbr0 -j REJECT --reject-with icmp-port-unreachable -A FORWARD -i virbr0 -j REJECT --reject-with icmp-port-unreachable -A FORWARD -i eth0 -o virbr0 -p tcp -m tcp --dport 2230 -j ACCEPT -A FORWARD -i eth0 -o virbr0 -p udp -m udp --dport 2230 -j ACCEPT
iptables -L
Chain INPUT (policy ACCEPT) target prot opt source destination ACCEPT udp -- anywhere anywhere udp dpt:domain ACCEPT tcp -- anywhere anywhere tcp dpt:domain ACCEPT udp -- anywhere anywhere udp dpt:bootps ACCEPT tcp -- anywhere anywhere tcp dpt:bootps Chain FORWARD (policy ACCEPT) target prot opt source destination ACCEPT all -- anywhere 192.168.100.0/24 state RELATED,ESTABLISHED ACCEPT all -- 192.168.100.0/24 anywhere ACCEPT all -- anywhere anywhere REJECT all -- anywhere anywhere reject-with icmp-port-unreachable REJECT all -- anywhere anywhere reject-with icmp-port-unreachable ACCEPT tcp -- anywhere anywhere tcp dpt:2230 ACCEPT udp -- anywhere anywhere udp dpt:2230 Chain OUTPUT (policy ACCEPT) target prot opt source destination
Najlepiej i chyba najszybciej by było jakby ktoś mi powiedział jak to zrobić krok po kroku :D
Ostatnio edytowany przez koxen (2014-07-31 22:05:27)
Offline
@Jacekalex jestem zielony w forwardowaniu te zasady iptables które napisałem 1 poście znalazłem w jakimś temacie na innym forum i działało po wklepaniu tych 4 linijek na każdy port.[/quote]
W czytaniu jesteś jeszcze bardziej zielony, bo tam wyżej masz podane na tacy najprostsze rozwiązanie.
A tu jest dokumentacja:
http://pl.wikibooks.org/wiki/Sieci_w_Linuksie/Netfilter/iptables#tablica_nat
http://pl.wikibooks.org/wiki/Sieci:Linux/Netfilter/iptables/akcje
W demokracji każdy naród ma taką władzę, na jaką zasługuje ;)
Si vis pacem para bellum ;) | Pozdrawiam :)
Offline
Rozumiem że mówisz o
iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
czyli z tymi linijkami co były w 1 poście jest ok?
Offline
podaj output:
iptables -L -t nat iptables -S -t nat
a co do krok po kroku, to mój firewall, robi to za pomocą kilku linijek:
#!/bin/bash echo 1 > /proc/sys/net/ipv4/ip_forward # włącza forwardowanie IP iptables -P FORWARD ACCEPT # domyślnie przepuszcza cały ruch w łańcuchu FORWARD iptables -t nat -A PREROUTING -i eth1 -p tcp --dport 9987 -j DNAT --to-destination XX.XX.XX.XX:9987 # przekierowanie portu 9987 iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE # maskarada
i zasadniczo to mi robi cała robotę. eth1 to mój interfejs zewnętrzny a eth0 wewnętrzny. jak chce przekierować kolejny port to dodaje kolejną linijkę, maskarada zawsze musi być na samym końcu, włączanie forwardowania IP na samym początku.
Ostatnio edytowany przez ramsi1986 (2014-07-31 22:42:01)
Offline
@ramsi1986
root@serv023180:~# iptables -L -t nat Chain PREROUTING (policy ACCEPT) target prot opt source destination DNAT tcp -- anywhere anywhere tcp dpt:2230 to:19 2.168.100.167:22 DNAT tcp -- anywhere anywhere tcp dpt:2230 to:19 2.168.100.167:22 DNAT udp -- anywhere anywhere udp dpt:2230 to:19 2.168.100.167:22 Chain INPUT (policy ACCEPT) target prot opt source destination Chain OUTPUT (policy ACCEPT) target prot opt source destination Chain POSTROUTING (policy ACCEPT) target prot opt source destination MASQUERADE tcp -- 192.168.100.0/24 !192.168.100.0/24 masq ports: 1024- 65535 MASQUERADE udp -- 192.168.100.0/24 !192.168.100.0/24 masq ports: 1024- 65535 MASQUERADE all -- 192.168.100.0/24 !192.168.100.0/24 MASQUERADE all -- anywhere anywhere
root@serv023180:~# iptables -S -t nat -P PREROUTING ACCEPT -P INPUT ACCEPT -P OUTPUT ACCEPT -P POSTROUTING ACCEPT -A PREROUTING -i eth0 -p tcp -m tcp --dport 2230 -j DNAT --to-destination 192.168.100.167:22 -A PREROUTING -i eth0 -p tcp -m tcp --dport 2230 -j DNAT --to-destination 192.168.100.167:22 -A PREROUTING -i eth0 -p udp -m udp --dport 2230 -j DNAT --to-destination 192.168.100.167:22 -A POSTROUTING -s 192.168.100.0/24 ! -d 192.168.100.0/24 -o eth0 -p tcp -j MASQUERADE --to-ports 1024-65535 -A POSTROUTING -s 192.168.100.0/24 ! -d 192.168.100.0/24 -o eth0 -p udp -j MASQUERADE --to-ports 1024-65535 -A POSTROUTING -s 192.168.100.0/24 ! -d 192.168.100.0/24 -o eth0 -j MASQUERADE -A POSTROUTING -o eth0 -j MASQUERADE
Offline
pozbądź się tego:
[quote=koxen]
-A POSTROUTING -s 192.168.100.0/24 ! -d 192.168.100.0/24 -o eth0 -p tcp -j MASQUERADE --to-ports 1024-65535 -A POSTROUTING -s 192.168.100.0/24 ! -d 192.168.100.0/24 -o eth0 -p udp -j MASQUERADE --to-ports 1024-65535 -A POSTROUTING -s 192.168.100.0/24 ! -d 192.168.100.0/24 -o eth0 -j MASQUERADE
[/quote]
skoro masz to na końcu:
-A POSTROUTING -o eth0 -j MASQUERADE
Offline
@ramsi1986 to dodał ten Virtual Machine Manager przy tworzeniu interfejsu, usuwam.
Offline
[quote=koxen]@ramsi1986 to dodał ten Virtual Machine Manager przy tworzeniu interfejsu, usuwam.[/quote]
wiesz co? daj mi wjazd przez SSH to Ci to naprawie... :)
Offline
@ramsi1986 napisałem PW
Offline
coś mi nie gra z tym mostkiem virbr0
Offline
@ramsi1986 to dodał ten Virtual Machine Manager przy tworzeniu interfejsu, usuwam.[/quote]
Co i kto dodał?
Co to jest ten jakiśtam Manager?
Czy to jest z repo, czy znowu jakiś slitaśny manager chooj wie skąd?Ostatnio edytowany przez Jacekalex (2014-07-31 23:02:21)
W demokracji każdy naród ma taką władzę, na jaką zasługuje ;)
Si vis pacem para bellum ;) | Pozdrawiam :)
Offline
tak to jest jak sie gui używa :) śmieci dodaje, potem trzeba zamiatać :)
Offline
problem rozwiązany, te dwie linijki robiły bałagan:
iptables -A FORWARD -i eth0 -o virbr0 -p tcp --dport 2230 -j ACCEPT; iptables -A FORWARD -i eth0 -o virbr0 -p udp --dport 2230 -j ACCEPT;
wyczyściłem i napisałem prosty skrypcik, który uruchamia się przy starcie i sprząta wszystko.
#!/bin/bash echo 1 > /proc/sys/net/ipv4/ip_forward iptables -F iptables -F -t nat iptables -t nat -A PREROUTING -p tcp -i eth0 --dport 2230 -j DNAT --to-destination 192.168.100.167:22 iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
Offline
DZIĘKI DZIĘKI WIELKIE
Offline
pamiętaj, że masz wszystkie polityki ustawione na ACCEPT, powinieneś nad tym popracować :)
Offline
Time (s) | Query |
---|---|
0.00010 | SET CHARSET latin2 |
0.00005 | SET NAMES latin2 |
0.00136 | 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.15.211.41' WHERE u.id=1 |
0.00140 | REPLACE INTO punbb_online (user_id, ident, logged) VALUES(1, '3.15.211.41', 1732826253) |
0.00050 | SELECT * FROM punbb_online WHERE logged<1732825953 |
0.00060 | SELECT topic_id FROM punbb_posts WHERE id=272521 |
0.00005 | SELECT id FROM punbb_posts WHERE topic_id=26199 ORDER BY posted |
0.00084 | 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=26199 AND t.moved_to IS NULL |
0.00009 | SELECT search_for, replace_with FROM punbb_censoring |
0.00302 | 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=26199 ORDER BY p.id LIMIT 0,25 |
0.00120 | UPDATE punbb_topics SET num_views=num_views+1 WHERE id=26199 |
Total query time: 0.00921 s |