We currently migrate to MediaWiki from our old installation, but not all content has been migrated yet. Take a look at the Wiki Team page for instructions how to help or browse through our new wiki at wiki.linux-vserver.org to find the information already migrated.
Lets imagine, you have only one external IP -- $EXTIP.
You want to have several vservers running without worrying about port overlapping.
Example:
Two vservers run a default webserver, running on port 80. If each "guest" vserver shares an IP with the host, then the two webservers will confict.
One solution is:
This is how to set it up:
1. Set up dummy0 iface on host
# /etc/network/interfaces on debian box, # configure on other distros with your preferred way auto dummy0 iface dummy0 inet static address 192.168.1.250 netmask 255.255.255.0
2. Set up each guest vserver:
# Contents of /etc/vservers/<vserver>/interface/0/ dev: dummy0 ip: 192.168.1.1 name: 1 prefix: 24
I suggest you use value of name equal to last digit of IP -- for easy separation.
3. Now, configure the host to act as a router.
3a: For internal packets going outside, pretend each packet came from our external IP:
iptables -t nat -A POSTROUTING -s 192.168.1.0/24 -d ! 192.168.1.0/24 -j SNAT\ --to-source $EXTIP
3b: For each service that runs on a vserver, map it to an external port. Vserver local address $VHOST and port $INTPORT you select one external port $EXTPORT and run the following:
iptables -t nat -A PREROUTING -s ! 192.168.1.0/24 -m tcp -p tcp\ --dport $EXTPORT -j DNAT --to-destination $VHOST:$INTPORT
That's all!
Try ping pool.ntp.org from your vserver -- it should ping fine.
Try to connect to your $EXTIP:$EXTPORT (from another external host) -- you will successfully connect to service running on a guest vserver.