Re: Newbie question about NAT and forwarding

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

 



felix@xxxxxxxxxxx wrote:
I have a small network with a gateway machine which has two interfaces
to the internet.  One is (yes!) ppp0, a dialup account, the other is a
broadband connection.  Some of the network machines behind the gateway
have real static addresses, some have 192.168.* or similar local net
addresses.  The dialup account has static real addresses for those
local net machines which need internet access, but the broadband
connection gets its address dynamically from DHCP.  As much as it
would be nice to ditch the dialup account altogether, that is not
practical at the moment.

I would like all the local net machines to not be aware of there being
multiple connections, to route all SMTP traffic, both in and out, thru
the dialup account, and to route all other traffic thru the broadband
connection.

I think I know how to route based on the protocol.  For SMTP, that is
made easier by not needing to NAT anything.  But I need NAT for all
other traffic using the broadband connection, right? since it has only
a single synamically assigned DHCP address.  This is where I get
confused.

What iptables commands would I used to route non-SMTP packets between,
say, eth0 (local net, static real addresses) and eth1 (broadband DHCP)?

I just did something similar.
Just follow normal procedure for NAT of traffc using and us broadband as default route:
route add default gw $broadband_gateway

Then you just need to route the smtp traffic through your dial-up.

iptables -A PREROUTING -i eth0 -t mangle -p tcp --dport 25 -j MARK --set-mark 2
echo 202 mail >> /etc/iproute2/rt_tables
ip rule add fwmark 2 table mail
ip route add default via $dialup_gateway dev eth0 table mail
ip route flush cache



[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