# This is a NAT configuration for a machine on the MediaOne cable network. # # Background: # MediaOne supplies only one IP address, so all traffic from internal machines # must be proxied. NAT provides the facilities to do this, but getting the # configuration right is a little tricky. # # The following is what I use, as of Sat Mar 20 18:50:52 EST 1999. Your milage # may vary. # # - mycroft # Notes: # ep0 is the external interface (to the MediaOne cable modem). # ep1 is the internal interface (to the local network). # Run `ipf -y' when external address may have changed (from dhclient-script). # Map all internal UDP and TCP traffic to the single external address. # Make sure all the `proxy' lines are before any generic `portmap' lines, as # the first match always wins. map ep0 10.0.0.0/8 -> 0/32 proxy port ftp ftp/tcp map ep0 10.0.0.0/8 -> 0/32 portmap tcp/udp 1024:65535 # Map incoming ICMP traffic dynamically. # If you ping from an internal machine, only that machine will see incoming # ICMPs until the mapping times out! map ep0 10.0.0.0/8 -> 0/32 # Redirect incoming RealMedia traffic to a specific machine. rdr ep0 0/0 port 7070 -> 10.1.0.2 port 7070 udp rdr ep0 0/0 port 7070 -> 10.1.0.2 port 7070 tcp # Redirect ports for incoming ssh connections. # This requires having multiple keys for the gateway host in your known_hosts # file: one for it and one for each of the machines behind it. # You can use host entries in .ssh/config to create convenient shorthands for # the internal hosts. rdr ep0 0/0 port 2201 -> 10.1.0.2 port 22 tcp rdr ep0 0/0 port 2202 -> 10.1.0.3 port 22 tcp rdr ep0 0/0 port 2203 -> 10.1.0.4 port 22 tcp rdr ep0 0/0 port 2204 -> 10.1.0.5 port 22 tcp rdr ep0 0/0 port 2205 -> 10.1.0.6 port 22 tcp rdr ep0 0/0 port 2206 -> 10.1.0.7 port 22 tcp rdr ep0 0/0 port 2207 -> 10.1.0.8 port 22 tcp rdr ep0 0/0 port 2208 -> 10.1.0.9 port 22 tcp