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/.
Strony: 1
Witam
Mam serwer z 2 portami ppp0 (wan adres 95.171.197.XX) i eth3 (lan adres 10.0.0.1) - miedzy ppp0 i eth3 jest nat, do tego dochodzi tunel (tun0 sieć za tunelem 192.168.1.0/24). Z sieci LAN mam dostęp do sieci za tunelem 192.168.1.0/24, lecz problem pojawia się gdy chcę sobie porty przekierować z zewnątrz przez interfejs ppp0. Winny jest temu routing na bramie 192.168.1.1 ponieważ ma trasę tylko do 10.0.0.1, a nie ma możliwości dodania trasy do 95.171.197.XX. Po prostu pakiet po forewardingu ma adres źródłowy 95.171.197.XX i dociera do sieci 192.168.1.0/24, ale odpowiedź jest wysyłana interfejsem WAN zamiast tun0. Znalazłem opis POSTROUTING https://www.digitalocean.com/community/tutorials/ho … with-iptables ale po zastosowaniu tego i tak nie działa.
zrobiłem to tak:
iptables -t nat -A PREROUTING -i ppp0 -p tcp --dport 25544 -j DNAT --to-destination 10.0.0.1:25544 iptables -t nat -A POSTROUTING -o tun0 -p tcp --dport 80 -d 192.168.1.1 -j SNAT --to-source 10.0.0.1:25544
Dobrze mam wpisane adresy?
Cel jest taki: Pakiet wchodzący przez ppp0 portem 25544 ma zmieniane IP źródłowe na 10.0.0.1 i jest wysyłany do 192.168.1.1 po porcie 80
192.168.1.1 odpowiada na żądanie HTTP i wysyła pakiet do 10.0.0.1
10.0.0.1 przekazuje pakiet do 95.171.197.81
Ma ktoś pomysł jak zrobić IPTABLES żeby pakiet po forewardingu nie miał źródłowego adresu tylko lokalny?
Offline
Udało się znaleźć rozwiązanie taki jak chciałem - po forewardingu docelowe urządzenie dostaje pakiet w którym źródło to adres lokalny, a nie sieci globalnej.
#foreward z interfejsu zewnętrznego ppp0 do adresu lokalnego 192.168.1.1:80 iptables -t nat -A PREROUTING -i ppp0 -p tcp --dport 25544 -j DNAT --to-destination 192.168.1.1:80 #zmiana źródła w pakiecie do adresu 192.168.1.1 wychodzącego interfejsem tun0 iptables -t nat -A POSTROUTING -o tun0 -p tcp --dport 80 -d 192.168.1.1 -j SNAT --to-source 10.0.0.1
Tylko jest taki problem dla innych urządzeń w sieci to działa, ale dla sieci za tunelem nie działa chociaż istnieje połączenie miedzy tymi sieciami.
Jakieś sugestie?
Offline
Strony: 1