Client Server Logs Shows Public IP instead of Spoof IP in Jmeter - jmeter

As the title says, I have been tasked to do Load and Performance Testing on a Client's Server, I have followed all steps, made additional IPs and added it to the system, and entered the same IPs in Jmeter using CSV dataset, and Debug Postproccessor shows that the request is being sent with the correct IPs. I am doing this over wifi, so hopefully that isn't the issue.
Any help is appreciated.
System config
OS: Windows 10 64 bit
Ram: 16gb
Jmeter Version 5.4.3

It may easily happen if you're behind NAT and the server is in the Internet, in that case no matter what is your local IP address(es), the server will "see" only the address of your NAT gateway, you can check yourself using websites like https://www.whatismyip.com/
The trick with local IP addresses (or aliases) will succeed only in case of local intranet, when it comes to Internet - you will need to have as many global static IP addresses as many users you're trying to simulate.
One of the possible solutions is kicking off virtual machines in AWS or Azure or similar service or asking your ISP to provide you a pool of IP addresses you could use (normally you will need to pay for this) and go for distributed testing so each JMeter slave would have its own IP address (or several) to bind.

Related

How to get a Virtual IP for Keepalived with bare-metal infrastructure

I am configuring a High Availability load balancing based on HAProxy and Keepalived.
Everywhere I do research they talk about Virtual IP like something that fell off the sky – I mean, with little to none explanation about how to get one.
By now, I have arbitrary defined a virtual ip address in the keepalived.conf like this:
virtual_ipaddress {
10.0.0.100
}
With both Servers running keepalived, I do ip address command in the MASTER machine and it shows inet 10.0.0.100/32 scope global eth0 next to the Public IP, which I believe is correct.
When I do service keepalived stop in the MASTER machine and run ip address in the BACKUP machine, BACKUP shows inet 10.0.0.100/32 scope global eth0, IP which effectively disappeared from MASTER.
The above mentioned behavior indicates me that the config is all right.
Now, how can I publish that Virtual IP? Do I need to buy one? If my server provider (Contabo) doesn't offer the Virtual IP service, where to buy it?
My goal is to have my Front-End API requests aiming at the Virtual IP.
Thanks very much in advance for any guidance!
Server A and server B addresses are either manually configured when setting up the servers, or obtained via dhcp.
There is nothing magical about the virtual ip, other than it is not obtained in the same way.
If it is your own network, you can just pick one in the same range as for the two servers, and make sure that no new servers will use it.
Since you are talking about a provider, you will need to ask them if they provide floating ip addresses.
10.x.x.x is a private ip, so you can not publish that to the internet, but you could use it for example to fail over internal services.

Proxmox external VM / CT access

I've just begun the setup of proxmox for our none profit educational VPS service. However, the problem we're facing is a lack of IPv4 addresses available to us.
Is it possible to route a sub-domain to the host servers IP address and then get that forwarded to the individual containers accordingly. For example:
SSH root#node-123.w-a-s-d.me
Will allow a client with the VM ID of 123 to access their server
And the same goes for things like: node-123.w-a-s-d.me
This would be the web address allowing any applications running on port 80 for that specific node
I'm unsure how to go about this and have looked online with no luck. I hope our goal is clear. I look forward to hearing from you. Josh
Exposing SSH that way will not be easy as you can only have one thing listening on port 22 for every given IP address, and while you could just adding random ports to each VPS and the forward it from primary box which holds public IP (and vms are behind nat) this is not exactly the best solution.
What you may want to do instead is set up one public-facing box that people can ssh into via public IP and from it SSH to subsequent private machines by their internal IP. Alternatively you can set that box with openVPN and set it to assign internal IP address to anyone connecting via it. While openVPN takes more time to set up right, it can come with it's own DNS so when connected to it calling out SSH root#node-123.w-a-s-d.me will automatically route you to the private IP address rather than the shared public facing one.
With HTTP this is much easier as you can set up a proxy on the front-facing machines which then proxies requests for given sub domain to specific internal IP address.

java socket server hosting

I am creating an android client app connected to a Java server using sockets. At the moment I am working both on my pc. How can I upload my Java server to an online server so I can set my app to friends and test it?
I used OpenShift but could figure our how and if I can use it for what I want.
Also I looked at Amazon ec2, but they need credit card information, something that I would prefer not sharing for this.
Is there any way I can do this for free?
Thanks
Make sure you have a computer able to connect to the internet, and that can run 24/7. Then run your server on that computer, assume you run it on port 8080. Make sure that your host computer's IP address is it to static, otherwise DHCP will give it a different IP every time it connects to the router.
To allow your friends to connect, unless if they're on the same LAN as your host, you will need to port forward port 80 -> ComputerIP:8080 on your router. Once that's done, you will need to retrieve your router's global IPv4 address from it's configuration page and then send that to your friends.
If they're on the same LAN as your host, then you can just give them the IP address of your host computer.
If you port forwarded your server and you would like to get a host name, like stackoverflow.com, you're going to need to buy that from whoever owns the host name you would like to use. I don't know many details about how to update the DNS servers though.
If your server is local and you would like a host name, then just go onto your router configurations page and tell it to automatically assign each computer the default gateway as the primary DNS and then add a mapping in the router's DNS settings to map the host name to your computer's local IPv4 address. Note that not all routers support this feature.
Edit: You'll also need a good bandwidth to support multiple simultaneous connections.

Windows 7 as Public Server

I want to create a TFTP server on my computer, and I found a program named TFTPD32 that can help me. But when I try to bind my local IP (192.168.X.X) to a public one as I see in a tutorial, it doesn't show as a possible choice in that program.
As far as I know, to make this to work you need to install a server OS like Windows Server 2008, and Windows 7 Ultimate is a client one.
Is there a way to configure Windows 7 Ultimate as a public server?
Or maybe I am doing something wrong?
P.S.: I am sorry for my bad English.
If you can get that working in a LAN environment, then the solution is what ElGalivan said - take a look at the NAT table in your router.
Typically you need to do NAT over the UDP port 69 to your sever LAN IP address.
http://en.wikipedia.org/wiki/Network_address_translation
Tftpd32 can only "bind" to IP addresses available to the Windows OS where Tftpd32 runs.
In the very unusual case that your host is directly attached to a public IP Tftpd32 sure will have that public IP available for binding.
In a more normal case your host will be behind a router/NAT etc then your host will only have private IPs (192.168.x.x) available. In this case you should forward certain IP ports in your router in order to let exterior users reaching your server services.
But please consider; you should never do this with TFTP; TFTP is a protocol not meant for Internet traffic. It is used in the early stages of PXE booting strategies in LANs (Local Area Networks).

Servers Vs Ip address

When I say,
1000 domains are hosted on the same server.
Does it means that 1000 domains are hosted on the same IP address?
Yes. You configure the server software to correlate the host name to the right service files. This applies to FTP/WWW, etc.
A server can host either virtually by use of the same IP address with different host headers (example.com, sample.com, sub.sample.com), through the use of multiple IPs bound to the server, or a combination of both.
So to answer your question, no, having 1000 domains hosted on the same IP address doesn't mean that they have the same IP address. However, it is possible given the configuration of the sites.
Normally, yes.
There is nothing stopping you from installing another NIC and having another IP address on the machine, but typically, 1000 domains hosted on the same server will be accessible using the same IP address.
Web servers use the host header to determine which site to load when many sites are configured to use the same IP address.
It's possible, with name based virtual hosting, a feature introduced in HTTP 1.1. It causes some problems with really old (corporate) proxies that pretend to only speak HTTP 1.0 and there are SSL related issues, so in general it's not the optimum solution.

Resources