Skocz do zawartości
Bartosz Stępień

Proxmox - dodatkowe ip dla vm (Hetzner)

Polecane posty

Witam,

od 3 dni walczę z konfiguracją interfejsów sieciowych dla vm'ek postawionych przez proxmoxa.

Co chcę osiągnąć:

Na chwilę obecną mam 1 dodatkowy IP, który chcę podłączyć pod wirtualną maszynę, żeby mieć do niej dostęp spoza hosta. Posiłkowałem się wiki hetznera(https://wiki.hetzner.de/index.php/Proxmox_VE/en - Network configuration host system KVM/Routed) i innymi stronami/blogami, ale to nie działa w moim przypadku (czyt. robię coś źle). Domyślnie na serwerze chcę postawić 3 vmki ze swoimi ip.

 

Host i gość nie widzą siebie. Tak samo gość nie ma dostępu do internetu.

 

Konfiguracja hosta:

### Hetzner Online GmbH - installimage
# Loopback device:
auto lo
iface lo inet loopback
iface lo inet6 loopback

# device: eth0
auto  eth0
iface eth0 inet static
  address   5.9.83.xx
  netmask   255.255.255.224
  gateway   5.9.83.65
  # default route to access subnet
  up route add -net 5.9.83.aa netmask 255.255.255.224 gw 5.9.83.bb eth0

iface eth0 inet6 static
  address 2a01:4f8:162:xxx::2
  netmask 64
  gateway fe80::1

auto vmbr0
iface vmbr0 inet static
  address 5.9.83.xx
  netmask 255.255.255.224
  bridge_stp off
  bridge_ports none
  bridge_fd 0
  bridge_maxwait 0

  up ip route add 5.9.92.yy/21 dev vmbr0

iface vmbr0 inet6 static
  address 2a01:4f8:162:xxx::2
  netmask 64

Konfiguracja gościa(niestety ss):

post-11436-0-33037200-1474026755_thumb.png

 

Info o IP:

Host:

IP: 5.9.83.xx Gateway: 5.9.83.65 Netmask: 255.255.255.224

 

Dodatkowy:

IP: 5.9.92.yy Gateway: 5.9.92.57 Netmask: 255.255.255.248

 

 

Może mnie ktoś nakierować co robię źle?

 

Edytowano przez Bartosz Stępień (zobacz historię edycji)

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Dodatkowy IP dodajesz jako veth dla eth0. Potem w iptables robisz odpowiednie przekierowanie na br tak by łączył się z internetem i korzystał właśnie z tego konkretnego adresu ip.

 

veth:

auto eth0:0
iface eth0:0 inet static
        address XX.XX.XX.X
        netmask 255.255.255.255
        broadcast XX.XX.XX.X

Przekierowanie:

iptables -t nat -A POSTROUTING -o eth0 -j SNAT --to XX.XX.XX.X

To pozwoli Ci na korzystanie z adresu ip XX.XX.XX.X przez VMki, tj. gdy będą się łączyć z internetem to będą widziane właśnie pod tym ip.

 

Jeśli chcesz przekierować porty na z IP na vmke musisz włączyć forwarding w systemie (w debian na 100%) a potem dodać reguły pozwalające na przekierowywanie portów:

iptables -A FORWARD -i eth0 -o br0 -j ACCEPT
iptables -A FORWARD -i br0 -o eth0 -j ACCEPT

Teraz już tylko reguły dla portów:

iptables -t nat -A PREROUTING -p tcp -s 0/0 -d XX.XX.XX.X --dport ZZ:zz -j DNAT --to YY.YY.YY.YY:ZZ-zz
iptables -t nat -A POSTROUTING -o eth0 -d XX.XX.XX.X -j SNAT --to-source YY.YY.YY.YY
iptables -A FORWARD -p tcp -s YY.YY.YY.YY --sport ZZ:zz -j ACCEPT

gdzie:

XX.XX.XX.X - publiczny adres ip
YY.YY.YY.YY - adres ip vmki
ZZ - początkowy zakres portów
zz - końcowy zakres protów

Możesz zastąpić ZZ:zz i ZZ-zz samy PP w tedy przekierowujesz jeden port.

  • Upvote 1

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Czemu routing dodałeś do fizycznego urządzenia eth0 zamiast do vmbr0?

Ups, nie zauważyłem, że jednak routing jest dodany do vmbr0.

A czemu nie chcesz skorzystać z trybu bridged? Poza tym, że trzeba utworzyć wirtualny mac dla danego adresu IP w panelu Hetznera to wydaje mi się, że konfiguracja Bridged jest prostsza i mniej problemowa.

Edytowano przez hemi (zobacz historię edycji)

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

@hemi

próbowałem, ale coś źle ustawiłem i straciłem dostęp do maszyny :unsure:

W przypadku bridge tu jako main IP rozumiem, że musi być IP hosta. Ale w tym kawałku przykładowej konfiguracji nie ma eth0 (w routed był).

 

Czy w takim razie taka konfiguracja będzie poprawna? Czy powinienem usunąć eth0 z /etc/network/interfaces jak w przykładzie z wiki hetznera?

 

Pytam dlatego, że jak dodałem vmbr0 to nagle straciłem dostęp do maszyny-hosta przez ip po reboocie.

# /etc/network/interfaces
### Hetzner Online GmbH - installimage
# Loopback device:
auto lo
iface lo inet loopback
#
auto vmbr0
iface vmbr0 inet static
       address   5.9.83.xx
       netmask   255.255.255.224
       pointopoint   5.9.83.65 
       gateway   5.9.83.65 
       bridge_ports eth0
       bridge_stp off
       bridge_fd 1
       bridge_hello 2
       bridge_maxage 12
Edytowano przez Bartosz Stępień (zobacz historię edycji)

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Generalnie przy konfiguracji bridge w ogole nie konfigurujesz interfejsu eth0. Całą konfigurację zawierasz w vmbr0. Konfig podany przez Ciebie powyzej powinien działać. Upewnij się, że nie masz odpalonego żadnego firewalla. Ewentualnie odpal maszyne w trybie vKVM - w hetznerze po odpaleniu trybu vKVM maszyna ma normalny dostep do sieci. Będziesz mógł na bierzaco zmieniać ustawienia sieci i testowac czy połączenie działa.

  • Upvote 2

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

@hemi

no nie bardzo z tym vkvm wyjdzie. Mam problem z uruchomieniem go:

post-11436-0-73824200-1474065491_thumb.png

 

Tak samo parę dni temu jak chciałem skorzystać z LARA console to był wielki ból javy i nie udało mi się podłączyć. Pisałem do supportu to oni odpisali, żebym sprawdził swoją jave. Tylko nie wiem co w javie może być nie tak. Bawiłem się w konfiguracji java: https://xiaoxiaoke.wordpress.com/2015/10/06/changing-java-security-restriction-for-network-connect-error-issue-in-kvm/

 

Trochę frustruje mnie to, że oprócz mojej niewiedzy są dodatkowe problemy <_<

 

Próbowałem nawet to obejść i znalazłem taki sposób, żeby przez VNC się podłączyć:

http://www.schwarzvogel.de/writings/hetzner_vnc_howto.html

 

Ale nawet jak próbuję tunelować i łączyć się z serwerem to connection refused mi wyrzuca :(

 

Jakby nie było u mnie deadline do 21 (muszę przenieść swoje rzeczy z innego usługodawcy, gdzie miałem vps) to bym tak nie panikował. A miało być łatwo i przyjemnie. Myślałem, że jedyny problem to będzie przeniesienie TFS na inny serwer. A tu zonk :D

 

W najgorszym przypadku zmigruję u siebie na kompa na wirtualkę, a jak szczęście dopisze to potem już na serwer.

 

Nawet uparłem się i na świeżym systemie uruchamiam vkvm i też nie pyka więc stawiam, że magicy od Javy coś pozmieniali. (Instalacja javy nawet w katalogu bez spacji, znaków specjalnych itp - czyścioch). Przeglądarki też odpadają (IE, Firefox).

 

Na serwer się loguję przez ssh to mam uruchomiony rescue mode więc od strony serwera na bank ok wszystko jest.

 

Miał może ktoś podobny problem ?

Edytowano przez Bartosz Stępień (zobacz historię edycji)

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Problem Javy to jej wersja ;) spróbuj użyć jakiejś starszej (niższej niż 7u51). Tylko musisz sobie na firewallu / w pliku hosts zablokować połączenia z serwerami update oracle, bo inaczej stara wersja stwierdzi, że jest stara i też zablokuje uruchamianie czegokolwiek.

  • Upvote 1

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

To w rescue podepnij dysk, popraw konfig sieci dla matki i podeslij dostep na priv, ogarne Ci konfiguracje sieci.

  • Upvote 1

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Kolega @tym pomógł z problemem za co dziękuję.

 

Odnośnie panelu vKVM to faktycznie problem był po stronie javy. Niestety nie wiem czemu nie chciał zainstalować pluginu do firefoxa i dostęp uzyskałem przez internet explorera po wyłączeniu wszystkich zabezpieczeń ;)

 

Temat do zamknięcia :)

Edytowano przez Bartosz Stępień (zobacz historię edycji)

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Bądź aktywny! Zaloguj się lub utwórz konto

Tylko zarejestrowani użytkownicy mogą komentować zawartość tej strony

Utwórz konto

Zarejestruj nowe konto, to proste!

Zarejestruj nowe konto

Zaloguj się

Posiadasz własne konto? Użyj go!

Zaloguj się


×