PDA

Bekijk Volledige Versie : VMWare server NAT



Cakkie
11/01/10, 21:41
Ik probeer het volgende te doen, maar het werkt niet echt.

Ik heb een Windows server die enkel gebruikt wordt om te DNS'en. Deze heeft slechts 1 IP adres.

Nu heb ik daar VMWare server op gezet, met het idee om een aantal poorten (waaronder SSH) te NAT-ten naar een linux server die als guest draait.

In VMWare heb ik bij de netwerkkaart van die VM NAT geselecteerd, en als ik die boot dan krijgt hij mooi een IP adres in een private range, en kan ik met die server op internet. Als ik dan echter bij port forwarding (Virtual network configuration, NAT, VMNet8) instel dat hij port 22 moet forwarden naar het IP adres van de guest, dan werkt dit niet. Het is te zeggen, als ik op de HOST ssh naar localhost:22, dan werkt het. Als ik echter ssh naar het externe ip adres, of ik probeer te verbinden vanaf een externe machine, dan werkt het niet en krijg ik een connection refused error.

Op de windows host staat de poort in de firewall exclude list, en zelfs als ik de firewall helemaal uitzet blijft het resultaat hetzelfde.

Waarschijnlijk doe ik dus ergens iets verkeerd, want elke guide die ik op het internet kan vinden (inclusief die op de vmware site zelf), doet het op die manier.

Iemand een idee wat ik verkeerd doe?

marsipulami
11/01/10, 22:15
Moet je geen bridge instellen in vMware?

Lite-On
12/01/10, 00:01
Moet je geen bridge instellen in vMware?

Zowel NAT als Bridged is mogelijk.
Wanneer er gekozen wordt voor NAT krijgt de betreffende guest een IP van de interne VMWare DHCP server, en wordt er in feite het host IP gebruikt voor internet/netwerk toegang.
Bij bridged wordt de guest in feite "rechtstreeks" gekoppeld aan het netwerk waar ook de host op actief is.

Ik heb geen idee wat de exacte situatie van de TS is, echter kies ik persoonlijk altijd voor een bridged oplossing.

groenleer
12/01/10, 08:13
Bridged is alleen mogelijk indien TS de beschikking heeft over een tweede ip adres voor de fysieke server.
Hiermee zou TS IP1 aan het Host-OS kunnen koppelen en IP2 aan het Guest-OS.

Indien er slechts 1 IP beschikbaar is, is TS gebonden aan een NAT oplossing. Persoonlijk vind ik dat niet de meest mooie oplossing.

tripple
12/01/10, 09:37
Ik veronderstel dat je van buitenaf een ssh connectie maakt naar het IP van de Windows server en niet naar het IP van de guest?

Cakkie
12/01/10, 10:43
Ja dat klopt.

Dit is hoe het er uit ziet:

Host: Windows Server 2003
Netwerk adapters:
Physical NIC Broadcom: extern IP adres van server
Virtual NIC VMNet 1 (host-only): 192.168.80.1
Virtual NIC VMNet 8 (NAT): 192.168.201.1

In VMWare Server
Guest hangt aan netwerk via NAT (VMNet8) en krijgt IP adres van DHCP van VMWare. Uitgaande connecties van de guest naar het internet is geen probleem.

In VMWare Virtual Network configuration bij NAT staat VMNet8. Bij port forwarding staan poort 22 geforward naar poort 22 op het ip adres van de guest.

vanop de host:
ssh localhost -> OK
ssh ip adres van guest -> OK
ssh extern IP adres host -> connection refused

vanaf ander toestel
ssh extern IP adres host -> connection refused

Firewall op de host staat af.

Dat bridging een betere oplossing zou zijn weet ik ook wel, maar daarvoor heb ik inderdaad een extra IP adres nodig (en dat heb ik momenteel niet).

oehTie
12/01/10, 13:09
als ik het zo lees heb je dus windows draaien, met daarop vmware en een client-vm. Windows moet dan ook weten dat poort 22 naar vmware moet worden doorgestuurd.

kan je in je route table in windows eens een route toevoegen voor de vm? (verkeer poort 22 naar het ip van de vm met correcte gateway/interface/vmnet8

DUR0N
13/01/10, 21:19
Ik denk niet dat VMware Server zelf op poort 22 op de host gaat luisteren als je dat in de NAT instellingen aanpast. Je zal een extra stuk software moeten hebben daarvoor (ISA?)

Cakkie
13/01/10, 22:25
Ik heb het probleem ondertussen gevonden.
Blijkbaar stond op de host, naast de firewall, ook nog in de advanced TCP IP settings van de adapter de packer filter op, die enkel maar 3 poorten doorliet en 22 zat er niet bij. Hierdoor werden die connections dus geweigerd. Na het toevoegen van de poort werkte het.

DUR0N
13/01/10, 23:43
Dus als je NAT activeert, luistert hij op de poorten die je nodig hebt? Handig :)

Cakkie
14/01/10, 10:14
Als je NAT gebruikt, dan moet je in VMWare port forwarding definieren en opgeven welke poorten je naar welke VPS wil doorsturen, eigenlijk net zoals je op een thuis routertje met NAT moet doen.

Uiteraard werkt dit enkel als deze poorten niet geblokkeerd worden op de host, wat bij mij dus wel het geval was.