Difference between revisions of "Set up Network Address Translation"
From Linuxintro
imported>ThorstenStaerk |
imported>ThorstenStaerk |
||
Line 3: | Line 3: | ||
− | + | ----------------------------------------------------------- | |
− | + | | | | |
− | + | | -------------- | | |
− | + | | | internal | | | |
− | + | | /| 172.16.0.43 | | | |
− | + | | / -------------- | | |
− | + | ------------- / | | |
− | + | --------- | NAT-gateway | / -------------- | | |
− | + | |internet |------------| 10.2.2.18 | / | internal | | | |
− | + | --------- | 172.16.0.1 |------------------| 172.16.0.42 | | | |
− | + | ------------- -------------- | | |
− | + | | | | |
− | + | ----------------------------------------------------------- | |
= Set it up = | = Set it up = |
Revision as of 08:45, 1 February 2014
Contents
Overview
Network address translation (NAT) is if you have a private network with private IP addresses and all these computers share access the internet via one computer. This computer, it can also be a cluster, is said to translate the network addresses between the private network and the internet.
----------------------------------------------------------- | | | -------------- | | | internal | | | /| 172.16.0.43 | | | / -------------- | ------------- / | --------- | NAT-gateway | / -------------- | |internet |------------| 10.2.2.18 | / | internal | | --------- | 172.16.0.1 |------------------| 172.16.0.42 | | ------------- -------------- | | | -----------------------------------------------------------
Set it up
To set up NAT (network address translation), open a console and
- allow IP traffic forwarding
echo 1 > /proc/sys/net/ipv4/ip_forward
- tell the kernel to forward traffic to the outgoing interface eth0 and masquerade it, so it will put its own IP address into each packet's header:
iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
Test it
To test if it has worked, go to one of the internal computers and set the computer doing NAT as gateway, e.g. under Linux:
route add default gw 192.168.0.1
Then try to ping google's name server. If it works, you did it right:
ping 8.8.8.8