Hi Jinhee,
I'm trying to setup Nxfilter to work for AD environment. My users are logged onto RDS (terminal service) servers (Windows 2008 R2). I use nxlogon.exe to pass SSON which works fine. However usernames are all mixed up if they are from same server on which their client IP are same. I researched other posts and realised nxfilter uses IP address to identify user sessions so it won't identify usernames properly under RDS.
There is a feature called IP Virtualization for RDS since 2008 R2. I wondered if this can give every user sessions on RDS server a unique IP so Nxfilter can identify users properly. Then I set it up. But in my test Nxfiler log still shows clients are coming from server's main IP not the session virtual IPs they are assigned to by RDS. Also it seems prevents nxlogon to work properly (all request are blocked with 'Your request has been blocked without a reason.').
- After an address is assigned to a session, it uses the virtual address rather than the primary IP address for the system whenever the following calls are made:
Bind¸closesocket¸connect, WSAConnect, WSAAccept, getpeername, getsockname,
sendto, WSASendTo, WSASocketW, gethostbyaddr, getnameinfo, getaddrinfo
- XenApp extends the Windows virtual IP feature by allowing the gethostbyname API to return the virtual IP address. In addition, XenApp adds virtual loopback to all APIs.
I'm not sure what caused nxlogon not able to send from virutal IPs. Can you please see whether the method nxlogon uses to retrieve IP info is in the list above. Really want to get it working under RDS. Thanks!
Regards,
Yong Chen