Changes

Jump to: navigation, search

Using NAT for container with private IPs

143 bytes added, 07:44, 6 June 2006
Some formatting in How to provide access for VPS to Internet
== How to provide access for VPS VE to Internet ==
To enable the VPSs[[VE]]s, which have only internal IP addresses, to access the Internet, SNAT (Source Network Address Translation, also known as IP masquerading) should be configured on the [[Hardware Node]]. This is ensured by the standard Linux <tt>iptables </tt> utility. To perform a simple SNAT setup, execute the following command on the [[Hardware Node]]:
<pre>
# iptables -t nat -A POSTROUTING -s src_net -o eth0 -j SNAT --to ip_address
</pre>
where <tt>src_net </tt> is a range of IP addresses of VPSs to be translated by SNAT, and <tt>ip_address </tt> is the external IP address of your [[Hardware Node]]. Multiple rules are allowed, for example, in case you wish to specify several ranges of IP addresses. If you are using a number of physical network interfaces on the [[Hardware Node|Node]], you may need to specify a different interface for outgoing connections, e.g. <tt>-o eth2</tt>.
{{Note: |If you are using stable (currently 2.6.8-based) kernel, then to enable SNAT for the VPSs on your local network you should also make need to explicitly enable connection tracking in [[VE0]].}}Make sure that the following string is present in the <tt>/etc/modules.conf </tt> file:
<pre>
options ip_conntrack ip_conntrack_enable_ve0=1
</pre>
In case it is not, add this string to the file by means of any text editor (for example, vi). This setting is not needed for kernels more recent than 2.6.8, since connection tracking for [[VE0 ]] is enabled by default in those kernels.
To make all IP addresses to be translated by SNAT (not only the ones of VPSs [[VE]]s with private addresses), you should type the following string:
<pre>
# iptables -t nat -A POSTROUTING -o eth0 -j SNAT --to ip_address

Navigation menu