-   Linux - Newbie (
-   -   Router with multiple public IPs (

Neodymium 03-10-2004 05:34 PM

Router with multiple public IPs
Hey there,

I've recently got a block of 8 IPs from my ISP. I'm looking to use some of these IPs on another machine of mine, which will no longer be using NAT, and thus publically accessible via the newly aquired IP addresses.

For ease of presenting my problem, I've constructed a diagram to show my current and proposed setup.

It can be viewed here:

My ISP provided me with the following information in an email:

Assigned IP Address Range -
Router IP (Default Gateway)
Useable IP Address Range -

Currently, when I connect to the Internet (via a BeWan ADSL PCI ST modem, under slackware) I am assigned my static IP via DHCP:


ppp0      Link encap:Point-to-Point Protocol
          inet addr:  P-t-P:  Mask:
          RX packets:16439 errors:0 dropped:0 overruns:0 frame:0
          TX packets:16095 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:3
          RX bytes:6347625 (6.0 Mb)  TX bytes:1857122 (1.7 Mb)

My friend has a ADSL modem/router combo which assigns public IP addresses to the computers connected to it, and that's basically what I want to achieve with Linux. I'm not sure how common this function is, or what the proper terminology for it is (bridging?), maybe someone could shed some light on that also :)


(ps. I already searched Google and the forums here, with no resolution (atleast understandable by me).

Neodymium 04-13-2004 07:39 PM

Alright, I now have everything sorted!

Here's how it goes:

1. echo "1" > /proc/sys/net/ipv4/ip_forward

2. [initiate connection to inet if not already done]

3. Set IP on eth0 (or whatever interface goes to your switch/rest of network) to one in your block (ie.

4. Set the IPs on your other machines to the ones assigned to you by your ISP.

That's it.

I then wrote myself a new iptables script and had to apply some of my existing rules to my FORWARD chain. Here's an example:

$IPTABLES -A FORWARD -p tcp -d --dport 139 -j DROP

Hope that's of some use to someone :)

All times are GMT -5. The time now is 05:46 PM.