Editing TCP/IP Stack in Vmware ESXi 6 - vmware

I've added another TCP/IP Stack to vmware 6 ESXi but I'm unable to edit it - or any other TCP/IP either, it's greyed out. Any ideas?

You need to edit it via CLI (esxcli).
First, list your netstack:
esxcli network ip netstack list
I guess you've added new VMkernel interface as well, so in that example you want to set new network info for vmk adapter:
esxcli network ip interface ipv4 set --interface-name=vmk1 --type=static --ipv4=192.1
68.100.222 --netmask=255.255.255.0 --gateway=192.168.100.1
Afterwards, VMK network looks like:
esxcli network ip interface ipv4 get
Name IPv4 Address IPv4 Netmask IPv4 Broadcast Address Type Gateway DHCP DNS
---- --------------- --------------- --------------- ------------ --------------- --------
vmk0 99.211.211.116 255.255.255.240 99.211.211.127 STATIC 99.211.211.113 false
vmk1 192.168.100.222 255.255.255.0 192.168.100.255 STATIC 192.168.100.1 false

Related

iOS NAT64 IPv6 environment issue

Now that apple has changed their review environment to an IPv6 only network ive been running into troubles with my application while testing.
The application requires the user to input their server/systems IP address, port (4401) and credentials to gain access to the application. Following the guidelines provided by apple i set up a NAT64 environment to test my application's compatibility. Running iOS 9.3.2 on an iphone 5s.
My work environment has several internal networks. I connected my iMac to the internal server (10.10.50.XX) via Ethernet which also has an external IP which is what i provide to apple. The 50 network does not run behind a proxy, but there are some sites which get filtered, but can access by confirming. I then shared my Ethernet connection through WiFI.
I connected the device and had internet access with the same pages being filtered. The device gets assigned a local-link address of 169.254.XX.XX. From what ive read my device is connecting to the ipv6 only network correctly, as the iphone does not show the ipv6 address only local link.
If I am correctly connected to the shared IPv6 network, the problem I am having is connecting to my server on the 50 network from my application. The application fails when ever i try to connected to the 10.10.50.XX network or the external(understandable because my imac is on the 50 internal network) .
Testing the application using IPv4 with a wireless router that is connected to the 50 network runs perfectly.I think it is an issue with the local link address not being able to see the 50 network or something.
Heres some brief background info on how i connect to the server. The user inputs all the credentials and the IP address and port of the server they want to connect to. The application saves this as a text (utf-8) and uses boost shared_ptr to send it to the cpp connection class which validates the credentials and provides access to the user. This cpp connection class handles the connection, synchronization, logging, requests and response from the server.
Is it possible to somehow get access to the 50 network, using the NAT64 internet sharing option?
If you're passing an IP address straight down to your network lib, then no. When your device is on the IPv6-only side of the NAT64, the server's IPv4 address is useless.
You almost certainly need a DNS name for the server you're trying to reach. The NAT64 relies first on DNS64 to create IPv6 addresses for your application when the server is IPv4-only. These synthesised addresses contain the IPv4 address(es) for the server, giving the NAT64 the information it needs to translate from IPv6 to IPv4.
Updating this to add: as suggested by user102008 in the comment thread attached to this answer, you may also be able to pass the IPv4 string literal though getaddrinfo() (see code listing 10-1 on this page). When you're behind a NAT64, a synthesised IPv6 address should be among the results returned by that call. The NAT64 will translate from this address back to IPv4 to reach the host you specified. In this case, if the system knows the correct prefix to use for the NAT64, a hostname is not necessary.

Get gateways of all interfaces in C++ for Linux

Using netstat or route, and probably several other commands it is fairly simple to retrieve the default gateway in the main routing table. (Although extracting it is still harder than I expected it to be) But I have not found any way of finding each gateway for each interface.
Specifically I have wlan0 and eth0 interfaces, and each have their own standard gateway. Is there anyway to extract them from somewhere. Preferably in C++, for Linux distributions. (Ubuntu 12.04 to be specific)
EDIT:
Perhaps my terminology is not correct, so I will try to clarify :
If I have solely my wlan0 interface operational on my laptop (i.e. I disconnect the lan cable).
I have a default gateway with IP *.*.108.1, and local IP of *.*.108.56.
Now if I connect the ethernet cable, I get a default gateway of *.*.105.129 and a local IP of *.*.105.170. The subnet mask for both is 255.255.255.128.
I would like to use both by setting my routing tables accordingly.
Perhaps if I misunderstood the purpose of the gateway, then let me explain my main goal.
I would like to be able to specify that Wireless connection is used, instead of the ethernet cable, and vice versa.
EDIT2:
These are the routing commands I use to redirect UDP packets from port 5555 to be sent over wlan
iptables -A OUTPUT -o wlan0 -t mangle -p udp --sport 5555 -j MARK --set-mark 1
ip rule add fwmark 1 table 1
ip route add dev wlan0 default via *.*.108.1 table 1
For the last command I need to provide some gateway, which is what I am looking for.

configure networking between vm on virtualbox

I installed virtual box on my window 7 laptop, when i install new vm and install ubuntu os,now when i choose nat everything works fine when i am unable to configure host-only network on it .
and one more problem i am facing when i clone that machine and start it and change mac address from setting and start sometime no network configured on the machine .
i actually want to start two vm on virtual box ,both machine have 2 network adapter 1 for nat to communicate any where and one for host and local vms. if is possible or not if yes tell me configuration . i already tried solution from googling no luck still .
You can achieve that using only "Host-only Networking".
Setup is as follows:
Host:
At least 1 Host-only Network is present and configured, e.g.
- ip address is set to: 192.168.56.1
- dhcp server: enabled or disabled (works on both)
Note the name of the Host-only network, e.g. "vboxnet0". This will be used in the next steps.
Guest VM 1:
1. Set Adapter 1 (or any other adapters) to "Host-only Adapter".
2. Make sure Name is set to the name noted in the Host section above, e.g. "vboxnet0".
Guest VM 2 (same steps with Guest VM 1):
1. Set Adapter 1 (or any other adapters) to "Host-only Adapter".
2. Make sure Name is set to the name noted in the Host section above, e.g. "vboxnet0".
You can now start your VMs, and verify connectivity by pinging.
Note that if you are using Windows, you must disable firewall or just enable network sharing and discovery.
i found the solution , we can use bridge networking/host -only networking for establish communication channel among vms and host os
we can use nat for one n/w adapter and we choose either bridge networking or host -only on another adapter .
nat for connecting vm to internet
bridge networking/host -only -- communication among vms and host machine
1-if you have firewall switch it off
do a bridged network using you primary adapter.
use static IP on both
it will work just did and it worked fine for me.
Adding more details :
open vmware
click on file --> preference--> network--> Host-only Networks
Step 1 :Click on add and give a name lets say : Virtual Host-only Ethernet Adapter
select tab:
Adapter : 192.168.92.1 (we can select ip range own)
Ipv4 Network Mask: 255.255.255.0
without this it will also work ,For safe side configure dhcp too:
select tab --> DHCP Server
Server Address : 192.168.92.1
Server Mask: 255.255.255.0
Lower Address Bound : 192.168.92.2
Upper Address Bound : 192.168.92.200
VM Machine level configuration:
Adapter1 : enable this adapter for NAT
Adapter2 : Enable Network Adapter --> select this checkbox
Attached to : Host-only Adapter
Name: Virtual Host-only Ethernet Adapter( name get from Step 1)
on linux machine :
2nd network interface configuration, eth1
#append below line in networking conf : /etc/network/interfaces
auto eth1
iface eth1 inet dhcp
for statics:
#append below line in networking conf : /etc/network/interfaces
auto eth1
iface eth1 inet static
address 192.168.92.5
#gateway 192.168.92.1
netmask 255.255.255.0
broadcast 192.168.92.255
network 192.168.92.0

Libcurl: force ipv4 or ipv6

How do I force libcurl to access a server running in dual stack mode over either ipv4 or ipv6? It shouldn't be hard to do using IPs addresses, but I'm looking for something that works with DNS ...
You bet. The config CURLOPT_IPRESOLVE which can be set to CURL_IPRESOLVE_V4 or CURL_IPRESOLVE_V6.
A more robust solution, if you can control DNS in anyway, is to make an A record for the v4 address and a separate AAAA record for the v6 address. This would let you pick the network you want to poll this system by, regardless of DNS resolution. But CURL can do what you want, just fine.

How to connect from a VMware guest machine to the server installed on a Windows 7 host machine?

How to connect from a VMware guest (virtual) machine to the server installed on the host (physical) machine? Things like typing "localhost" in the address bar of a browser in a guest machine don't work. My host machine's OS is Windows 7 64 bit with WMware Workstation installed on it, if it matters.
EDIT: The Bridged network connection in combination with referring to 192.168.0.10* from the guest machine did work (replace * with a digit starting from 0 until it works).
If you use "Bridged" Network Connection (see Virtual Machine Settings: Network Adapter), your VM will be given an IP address on the same LAN as your host machine. At that point, you can just HTTP to your host's IP address, eg. http://192.168.0.100
You can also do that with the other options, but with NAT and Host-only (if I recall correctly) your host machine will appear to your guest machine to have a different IP address than its real LAN address. So Bridged is the easiest and is likely your best bet, unless you have some specific needs.
First thing to do: Check that you have the network up and running. Try to ping the host system or any web site from the console of the guest OS, let's say ping www.google.com.
If you received any answers then please try writing the IP number of the host machine in the addressbar of the browser on the guest machine (NOT localhost :P). You should be able to see any web service running (Tip: Open the console of your windows 7 and type ipconfig, then find the ethernet adapter corresponding to VMWare and you'll find the IP number of your host system).
If you didn't received any answer at all when you did ping then check the network configuration of VMWare to use Bridged Connection --at least that's how it works for me.
Good luck!
In a guest machine, localhost refers to the virtual machine itself. Refer to the host just as you would from any other machine: by its IP address.
Note that it may be using a second "virtual" network adapter to communicate with the guest. Check the VMware to find out, and to find the second IP address.
Just use the same IP sub net for your VMware machine, if your windows system has ip address class C 192.168.0.10 So assign 192.168.0.120 IP to your Vmware machine and make sure that Firewall allow the traffic in vmware and also add the listener port manually in vm machine. go to system - administration- firwal-add port 1521.
Thanks