Martian addresses

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi,
 
At work (where there's no one else to do this job, so it's up to me even though I'm no network expert) we have installed an internet service. We have been given 5 public IP addresses whose traffic come from one single RJ45 jack (which is on a device which connects to a small dish).
 
The provider expects traffic to come from 172.19.78.6 to 172.19.78.1. Those addresses of course can't connect to internet, but the public IPs (obviously) can.
 
Since I want the LAN computers not to use public IPs at all (and keep them for the server use, I have it up like this).
 
 
Provider  <-------> Linux <-------> LAN
 
The Linux box has two NICs, one is connected to the Provider and the other one to the LAN.
The NIC connected to the provider has the IP 172.19.78.1, as expected. However, since the box is also our webserver and need to own public the addresses, I'm cheating by doing this:
 
iptables -t nat -A POSTROUTING -o $NEO_IFACE -j SNAT  --to-source $PUBLIC_IP
iptables -t nat -A PREROUTING -i $NEO_IFACE -d $PUBLIC_IP -j DNAT --to-destination $PRIVATE_IP
which makes sure that all traffic to the external interface uses a public IP instead of the provider private one, and converts traffic coming from the internet to the IP address I have in the card.
 
This seems to work fine (well, FTP get confused and sends the private address for PORT, but I guess that's easily fixable). I get lots of "martian source" messages in the logs, plus honestly, I'm not sure this is the right way to set this up.
 
Any advice?
 
 

[Index of Archives]     [Linux Netfilter Development]     [Linux Kernel Networking Development]     [Netem]     [Berkeley Packet Filter]     [Linux Kernel Development]     [Advanced Routing & Traffice Control]     [Bugtraq]

  Powered by Linux