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/.
Są dwa serwery, mam pełne uprawnienia admina do nich. Jeden z nich, niech to będzie serwer 1 ma zew. IP, serwer 2 nie ma zew. IP.
Na serwerze 2 stoi baza danych do której dostęp jest przez WWW, ale tylko w sieci lokalnej. Brama stoi na serwerze 1.
Jak z zewnątrz uzyskać dostęp do interfejsu obsługi bazy? Zdalny pulpit umożliwi to?
Offline
Przez ssh możesz to uzyskać. Poczytaj sobie o ssh proxy http://jakilinux.org/aplikacje/sztuczki-z-ssh-2-tunele/
Offline
Nie wczytywałem się jeszcze w artykuł, kompem z którego będę chciał mieć dostęp do lokalnego interfejsu WWW bazy na serwerze jest Windows. Nie ma to znaczenia?
Offline
kondzio14 napisał(-a):
Nie wczytywałem się jeszcze w artykuł, kompem z którego będę chciał mieć dostęp do lokalnego interfejsu WWW bazy na serwerze jest Windows. Nie ma to znaczenia?
Przez putty na windowsie też jesteś w stanie to zrobić.
Offline
bns napisał(-a):
A phpmyadmin? Działa na localhoście ale możesz go wystawić przez www.
Nic mi z samego phpmyadmina. Na myśli miałem frontend bazy. Czyli interfejs na którym pracują osoby tam zatrudnione :)
Offline
Możesz też zrobić tunel na linni {komp-w -domu} <=>{brama -z-Linuxem}, ustawić routing na obu kompach i po sprawie.
Sznurek: http://dug.net.pl/tekst/148/tunel_vpn__przez_ssh/
Offline
xming na win i forwarding przez putty
uruchamiasz przegladarke i pracuja na serwerze :)
Offline
Zdalny pulpit byłby sensowny gdybyś na ser2 miał jakies gui. Natomiast ty ma sz obsługę przez port 80.
Ja bym to zrobił w taki sposób.
1. Na bramie wpusciłbym usera z ip(tylko) twojego domu na kosmicznym porcie (np. 36521) i przekierowałbym go do serwera2 na port 80
2. Dostęp do panelu zabezpieczył dobrym hasłem
I to tyle.
Ostatnio edytowany przez hello_world (2011-07-13 17:02:11)
Offline
Hmm.. to teraz mam dylemat. Sposób Jacekalex wydaje mi się sensowny, jak również sposób hello_world. I nie wiem co zastosować. Jak w ogóle po konfiguracji będzie wyglądało odwołanie się do interfejsu obsługi bazy? W sieci lokalnej odbywa się to za pomocą przeglądarki w taki sposób: http://192.168.0.252/baza.php. A z zewnątrz?
Dostęp zdalny mam przez ssh do serwera z zewnętrznym IP.
@EDIT
Z tym, że sposób Jacekalex się nie nadaje, bo komputer domowy stoi na Windowsie XP.
Ostatnio edytowany przez kondzio14 (2011-07-15 09:25:52)
Offline
w sumie chyba najwygodniej było by postawić vpn'a i zezwolić na dostęp do bazy danych tylko z klasy adresowej tego tunelu
rozwiąże to problem komunikacji zarówno z zewnątrz jak i lokalnie. Dodatkowo dostęp do bazy byłby już zabezpieczony :]
Offline
Zatem spróbuję pokombinować z pptpd.
Offline
Dostęp zdalny mam przez ssh do serwera z zewnętrznym IP.
No to jak masz dostęp po ssh to nie widzę problemu aby się po ssh przedstawiać do bazy. Ale mam świadomość że nie każdy chce do bazy po shellu tylko przez jakies webowe narzędzia. Sposób BiExi jest chyba najbardziej sensowny.
Jak w ogóle po konfiguracji będzie wyglądało odwołanie się do interfejsu obsługi bazy? W sieci lokalnej odbywa się to za pomocą przeglądarki w taki sposób: http://192.168.0.252/baza.php. A z zewnątrz?
Po prostu robisz forwardowanie na portach iptables i dostajesz się wpisując adres gatewaya i port gatewaya. Iptables zobaczy jeśli jest to połączenie z konkretnego adresu przekieruje cię na adres http://192.168.0.252
Offline
Bez znaczenia jest to na którym serwerze będzie openVPN? Bo na bramie już jest służący do innych celów, więc można mu konfigurację pewnie podmienić - lepiej aniżeli stawiać nowy.
hello_world napisał(-a):
No to jak masz dostęp po ssh to nie widzę problemu aby się po ssh przedstawiać do bazy. Ale mam świadomość że nie każdy chce do bazy po shellu tylko przez jakies webowe narzędzia.
Dokładnie tak.
Ostatnio edytowany przez kondzio14 (2011-07-15 10:38:11)
Offline
Robię według http://forum.dug.net.pl/viewtopic.php?id=15583 pierwszego postu.
I jaki mam tutaj:
dev tap0
port 5000 #<=Port na ktorym bedzie dzialal nasz serwer
proto udp
ifconfig 10.3.0.1 255.255.0.0 #<=adres ip na ktory bedziemy sie logowali klientem
#keepalive 10 120
status /tmp/openvpn-status.log
ping 15
ping-restart 45
ping-timer-rem
verb 3
secret /etc/openvpn/static.key #<=klucz autoryzacji polaczenia
inactive 3600
push "ping 10"
push "ping-restart 60"
push "route 192.168.0.0 255.255.255.0" #<= Ta opcja odpowiada za routing serwer siec lokalna
I tutaj:
echo "1" > /proc/sys/net/ipv4/ip_forward
#forwardowanie pakietow
iptables -A INPUT -i tap0 -j ACCEPT
iptables -A FORWARD -o tap0 -j ACCEPT
#otwieranie portow dla serwera i klienta openvpn
iptables -A INPUT -p tcp -m state --state NEW -m tcp --dport 5000 -j ACCEPT #openvpn
iptables -A INPUT -p udp -m state --state NEW -m udp --dport 5000 -j ACCEPT #openvpn
#routing dla adresu ip klienta
iptables -t nat -A POSTROUTING -s 10.3.0.2/255.255.0.0 -j MASQUERADE
iptables -A FORWARD -s 10.3.0.2/255.255.0.0 -j ACCEPT
podać adres? Bo nie wiem gdzie podać mam mój adres IP zewnętrzny którym posługuję sie w domu?
Ostatnio edytowany przez kondzio14 (2011-07-15 11:11:23)
Offline
A ja bym to spróbował zrobić tak jak proponuje hello_world - ssh (z windowsa putty) na pierwszą maszynę i przekierowanie portu 80 drugiej maszyny na komputer, z którego się łączysz.
IMO najmniej wysiłku i prawie zero konfiguracji.
Offline
Okay trochę namieszałem. W każdym razie coś mi działa. Z Windowsa z przeglądarki po wpisaniu: http://10.3.0.1:5000 otrzymuję komunikat:
"mrvirtual works", czyli Apache'owy podejrzewam.
:)
Tylko jak teraz dostać się do linku bazy? Baza ma zrobionego takiego vhosta na porcie 80: http://baza.ulo.local
W iptables dopisałem:
iptables -t nat -A PREROUTING -p tcp -d 10.3.0.1 --dport 5000 -j DNAT --to 192.168.0.202:80
Ostatnio edytowany przez kondzio14 (2011-07-15 12:45:50)
Offline
Cos rzeczywiście namieszałeś.
Jeżeli się trzymasz rozwiązania z vpnem to po co porty do przeglądarki? Po prostu wpisuje zdalny adres na którym możliwe jest uzywanie bazy. Jak masz VPN-a to jestes w sieci korporacyjnej więc wpisujesz adres tak jak byś siedział w firmie. Pamiętaj tylko aby u siebie nie mieć adresacji sieci która występuje w sieci u ciebie w firmie.
Natomiast jak sie trzymasz forwardowania portow na gatewayu to wpisujesz adres publicznu gatewaya a on juz cie przekieruje.
Offline
Nie ogarniam tego. Wcześniej miałem jakieś sukcesy, ale to było na komputerze z Windowsem w sieci lokalnej. Teraz to samo zrobiłem u siebie w domu i nic. Nie nawiązuje połączenia. Używam openvpn pod Windowsa, stąd: http://openvpn.net/index.php/open-source/downloads.html
Jeśli mam firewalla włączonego w Windowsie 7 to:
Fri Jul 15 19:59:10 2011 OpenVPN 2.2.1 Win32-MSVC++ [SSL] [LZO2] built on Jul 1 2011
Fri Jul 15 19:59:10 2011 NOTE: OpenVPN 2.1 requires '--script-security 2' or higher to call user-defined scripts or executables
Fri Jul 15 19:59:10 2011 TAP-WIN32 device [Local Area Connection 2] opened: \\.\Global\{F014E7AA-A9AB-4B8C-823D-BCE01B0D6C29}.tap
Fri Jul 15 19:59:10 2011 Notified TAP-Win32 driver to set a DHCP IP/netmask of 10.3.0.2/255.255.0.0 on interface {F014E7AA-A9AB-4B8C-823D-BCE01B0D6C29} [DHCP-serv: 10.3.0.0, lease-time: 31536000]
Fri Jul 15 19:59:10 2011 UDPv4 link local: [undef]
Fri Jul 15 19:59:10 2011 UDPv4 link remote: IP_ZEW_SERWERA:5000
Fri Jul 15 19:59:55 2011 Inactivity timeout (--ping-restart), restarting
Fri Jul 15 19:59:55 2011 SIGUSR1[soft,ping-restart] received, process restarting
Fri Jul 15 19:59:57 2011 NOTE: OpenVPN 2.1 requires '--script-security 2' or higher to call user-defined scripts or executables
Fri Jul 15 19:59:57 2011 TAP-WIN32 device [Local Area Connection 2] opened: \\.\Global\{F014E7AA-A9AB-4B8C-823D-BCE01B0D6C29}.tap
Fri Jul 15 19:59:57 2011 Notified TAP-Win32 driver to set a DHCP IP/netmask of 10.3.0.2/255.255.0.0 on interface {F014E7AA-A9AB-4B8C-823D-BCE01B0D6C29} [DHCP-serv: 10.3.0.0, lease-time: 31536000]
Fri Jul 15 19:59:57 2011 UDPv4 link local: [undef]
Fri Jul 15 19:59:57 2011 UDPv4 link remote: 79.110.194.201:5000
I tak w kółko.
Jak wyłącze firewalla na Windowsie 7 to:
Fri Jul 15 20:00:10 2011 read UDPv4: Connection reset by peer (WSAECONNRESET) (code=10054)
Fri Jul 15 20:00:12 2011 read UDPv4: Connection reset by peer (WSAECONNRESET) (code=10054)
Fri Jul 15 20:00:13 2011 read UDPv4: Connection reset by peer (WSAECONNRESET) (code=10054)
Fri Jul 15 20:00:14 2011 read UDPv4: Connection reset by peer (WSAECONNRESET) (code=10054)
Fri Jul 15 20:00:15 2011 read UDPv4: Connection reset by peer (WSAECONNRESET) (code=10054)
Fri Jul 15 20:00:16 2011 read UDPv4: Connection reset by peer (WSAECONNRESET) (code=10054)
Fri Jul 15 20:00:16 2011 read UDPv4: Connection reset by peer (WSAECONNRESET) (code=10054)
Fri Jul 15 20:00:18 2011 read UDPv4: Connection reset by peer (WSAECONNRESET) (code=10054)
Fri Jul 15 20:00:19 2011 read UDPv4: Connection reset by peer (WSAECONNRESET) (code=10054)
Fri Jul 15 20:00:20 2011 read UDPv4: Connection reset by peer (WSAECONNRESET) (code=10054)
Fri Jul 15 20:00:21 2011 read UDPv4: Connection reset by peer (WSAECONNRESET) (code=10054)
Fri Jul 15 20:00:22 2011 read UDPv4: Connection reset by peer (WSAECONNRESET) (code=10054)
Fri Jul 15 20:00:23 2011 read UDPv4: Connection reset by peer (WSAECONNRESET) (code=10054)
Fri Jul 15 20:00:24 2011 read UDPv4: Connection reset by peer (WSAECONNRESET) (code=10054)
Fri Jul 15 20:00:25 2011 read UDPv4: Connection reset by peer (WSAECONNRESET) (code=10054)
Fri Jul 15 20:00:26 2011 read UDPv4: Connection reset by peer (WSAECONNRESET) (code=10054)
Fri Jul 15 20:00:27 2011 read UDPv4: Connection reset by peer (WSAECONNRESET) (code=10054)
Fri Jul 15 20:00:28 2011 read UDPv4: Connection reset by peer (WSAECONNRESET) (code=10054)
Fri Jul 15 20:00:29 2011 read UDPv4: Connection reset by peer (WSAECONNRESET) (code=10054)
Fri Jul 15 20:00:32 2011 read UDPv4: Connection reset by peer (WSAECONNRESET) (code=10054)
Fri Jul 15 20:00:36 2011 read UDPv4: Connection reset by peer (WSAECONNRESET) (code=10054)
Fri Jul 15 20:00:37 2011 read UDPv4: Connection reset by peer (WSAECONNRESET) (code=10054)
Ostatnio edytowany przez kondzio14 (2011-07-15 21:02:24)
Offline
Ok, coś znów działa. I to z domu w dodatku na Debianie - później przeniosę rozwiązanie na Windowsa.
Napiszę po kolei co zrobiłem i proszę o dalsze wskazówki.
Zainstalowałem po obu stronach openvpn.
Konfig po stronie serwera z zewnętrznym IP:
#Określamy rodzaj tunelu:
dev tun
#Określamy końce tunelu (to nie są publiczne IP komputerów między którymi tworzymy tunel!)
ifconfig 10.8.0.1 10.8.0.2
port 5000
#Ścieżka do pliku klucza współdzielonego:
secret /etc/openvpn/static.key
#Określamy protokół:
proto tcp-server
#Poniżej są opcje dotyczące logów, czasu nawiązywania połączeń itp. Nie kombinujmy z tym.
daemon
verb 4
log-append /var/log/openvpn.log
keepalive 10 900
inactive 3600
comp-lzo
Konfig po stronie klienta (na moim komputerze z Debianem w domu):
#Jak wyżej
dev tun
#IP komputera z którym się łączymy i port
remote IP_ZEW_SERWERA 5000
#Określamy protokół
proto tcp-client
#Końce tunelu- odwrotnie niż w pliku serwera
ifconfig 10.8.0.2 10.8.0.1
#Wiadomo
secret /etc/openvpn/static.key
#To również wiadmo
keepalive 10 60
#route 192.168.10.0 255.255.255.0
#route 192.168.11.0 255.255.255.0
comp-lzo
Wygenerowalem klucz:
openvpn --genkey --secret static.key
No i umieściłem po obu stronach w /etc/openvpn.
W firewallu na serwerze dopisałem:
echo "1" > /proc/sys/net/ipv4/ip_forward
#forwardowanie pakietow
iptables -A INPUT -i tun0 -j ACCEPT
iptables -A FORWARD -o tun0 -j ACCEPT
#otwieranie portow dla serwera i klienta openvpn
iptables -A INPUT -p tcp -m state --state NEW -m tcp --dport 5000 -j ACCEPT #openvpn
iptables -A INPUT -p udp -m state --state NEW -m udp --dport 5000 -j ACCEPT #openvpn
#routing dla adresu ip klienta
iptables -t nat -A POSTROUTING -s 10.8.0.2/255.255.0.0 -j MASQUERADE
iptables -A FORWARD -s 10.8.0.2/255.255.0.0 -j ACCEPT
iptables -t nat -A PREROUTING -p tcp -d 10.8.0.1 --dport 80 -j DNAT --to 192.168.0.202
Na kompie 192.168.0.202 stoi baza do której dostęp jest przez vhosta http://baza.ulo.local. Jak się na nią wbić?
ping 10.8.0.1 z kompa domowego mi działa.
@EDIT
Działa. Należało wpis dodać w /etc/hosts. W Windowsie jest to plik: C:\Windows\System32\drivers\etc.
Ostatnio edytowany przez kondzio14 (2011-07-16 11:28:46)
Offline
Stawianie w tym przypadku VPN to moim zdaniem strzelanie z armaty do wróbla. Masz jakiś frontend poprzez WWW? Odpalasz putty, w sekcji SSH->tunnels wpisujesz source port: 80, destination: localhost:80 i klikasz add, potem normalnie się łączysz. Wpisujesz w przeglądarce http://localhost/baza.php albo localhost/phpmyadmin (albo podobnie) i masz. Jak nie masz frontendu po HTTP tylko inny, działający pod Windowsem, to przekierowujesz w ten sposób nie port 80 tylko 3306 (albo na którym tam masz bazę) i wszystko leci automatycnie: host = localhost, port = 3306 i masz. Szybko, prosto, przyjemnie, bezpiecznie, po zapisaniu sesji w puttym również wygodnie.
Offline