Search Members Help

» Welcome Guest
[ Log In :: Register ]

Mini-ITX Boards Sale, Fanless BareBones Mini-ITX, Bootable 1G DSL USBs, 533MHz Fanless PC <-- SALE $200 each!
Get The Official Damn Small Linux Book. DSL Market , Great VPS hosting provided by Tektonic
 

[ Track this topic :: Email this topic :: Print this topic ]

reply to topic new topic new poll
Topic: iptables question, slow uploads and sometimes no response< Next Oldest | Next Newest >
garcelj Offline





Group: Members
Posts: 6
Joined: May 2005
Posted: Sep. 29 2005,13:00 QUOTE

Hello everyone,

I have recently re-purposed an old Compaq Celeron 500Mhz machine as a Linux router to leverage the use of a Comcast cable modem in a school that has a T-1 line.

The box has two network cards detected by DSL as eth0 and eth1.  I am using iptables to setup NATting and IP-based policy routing.

I have created a script to setup iptables and NAT and it has been setup as follows:

#!/bin/sh

# Define Internal and External interfaces
INTIF="eth0"
EXTIF="eth1"

# Find the IP Address of the External interface
EXTIP="`/sbin/ifconfig eth1 | grep 'inet addr' | awk '{print $2}' | sed -e 's/.*://'`"

# Turn on IP Forwarding to allow this box to route packets
sudo echo "1" > /proc/sys/net/ipv4/ip_forward
sudo echo "1" > /proc/sys/net/ipv4/ip_dynaddr

# Clearing any existing rules and setting default policy
sudo iptables -P INPUT ACCEPT
sudo iptables -F INPUT
sudo iptables -P OUTPUT ACCEPT
sudo iptables -F OUTPUT
sudo iptables -P FORWARD DROP
sudo iptables -F FORWARD
sudo iptables -t nat -F

# Allow IP traffic to go out External interface from the Internal
sudo iptables -A FORWARD -o $EXTIF -i ! $EXTIF -j ACCEPT

# Allow related traffic from Exteral to Internal that was
# initiated by the Internal interface
sudo iptables -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT

sudo iptables -A FORWARD -f -j ACCEPT

# Enable SNAT (MASQUERADE) functionality on External interface
sudo iptables -t nat -A POSTROUTING -o $EXTIF -j MASQUERADE

# Define the tables for each gateway on each interface
sudo ip route add default via 10.x.x.1 dev eth0 table 1
sudo ip route add default via 68.x.x.1 dev eth1 table 2

# Add rules that route packets based on source or destination
sudo ip rule add to 204.39.x.x/16 table 2 priority 500
sudo ip rule add to 199.199.x.x/16 table 2 priority 510
sudo ip rule add from 10.69.x.x/24 table 1 priority 600

-------------------------------------------------------

This allows traffic to go out and it seems to work.  However on some sites, response on the client side is very slow.

I have made sure that client are assigned the address of the Linux box as the gateway.

I have tried to traceroute a site from the client only to get as far as the Linux box and them time out.

I have also tried to do some speed tests from sites like dslreports.com and the download test go okay but the upload test either completes after a while or does not complete at all (this is often).

The client machines are a mix of Windows 98 and Windows XP.

Does anyone have an idea of what I may have done wrong in the setup?

Thanks in advance!
Back to top
Profile PM 
0 replies since Sep. 29 2005,13:00 < Next Oldest | Next Newest >

[ Track this topic :: Email this topic :: Print this topic ]

 
reply to topic new topic new poll
Quick Reply: iptables question

Do you wish to enable your signature for this post?
Do you wish to enable emoticons for this post?
Track this topic
View All Emoticons
View iB Code