OK, I remember this was very discouraging when I tried to get it to
go. If you aren't sure you should get the appropriate How-To (I can't
put my hands on it right now) but the important things are:
1) Proper kernel options/modules for masq
2) Proper ipchains for masq
3) Turn on ip-forward in /proc
4) Have the local and internet interfaces properly configured
5) You do not need a local DNS server, I have been running a masq
setup for quite some time and I use my ISP's DNS from internal Win98
and linux machines as well as Linux on the masq machine.
Just to really clutter this up here is my MASQ configuration that I
execute in /etc/rc.d/rc.local to get my system to work. (Sorry for
the line wrapping.)
-----------------------------<cut here>-------------------------------
echo "Start syn_cookies protection in proc ... "
echo 1 >/proc/sys/net/ipv4/tcp_syncookies
#
if [ -x /sbin/ipchains ]; then
echo "Start masquerade so that local network PCs can access
outside."
# Flush all existing rules - for safety!
/sbin/ipchains -F forward
# Set the timeout values ... from a UseNet post!
/sbin/ipchains -M -S 7200 10 60
# Set default forwarding policy to DENY; this I am confused
about.
# This apparently protects my system from another host
masquerading as ME!
/sbin/ipchains -P forward DENY
# Allow the local network to firewall/masquerade to anywhere.
/sbin/ipchains -A forward -j MASQ -s 192.168.10.0/24 -i ppp0
echo 1 >/proc/sys/net/ipv4/ip_forward
echo "Block some ports required for the internal BUT not
external network."
/sbin/ipchains -A input -i ppp0 -p tcp --dport 37 -j DENY
/sbin/ipchains -A input -i ppp0 -p tcp --dport 137 -j DENY
/sbin/ipchains -A input -i ppp0 -p tcp --dport 138 -j DENY
/sbin/ipchains -A input -i ppp0 -p tcp --dport 139 -j DENY
/sbin/ipchains -A input -i ppp0 -p tcp --dport 143 -j DENY
/sbin/ipchains -A input -i ppp0 -p tcp --dport 513 -j DENY
/sbin/ipchains -A input -i ppp0 -p tcp --dport 514 -j DENY
/sbin/ipchains -A input -i ppp0 -p tcp --dport 515 -j DENY
#
/sbin/ipchains -A input -i ppp0 -p tcp --dport 110 -j DENY
/sbin/ipchains -A input -i ppp0 -p tcp --dport 143 -j DENY
/sbin/ipchains -A input -i ppp0 -p tcp --dport 1026 -j DENY
/sbin/ipchains -A input -i ppp0 -p tcp --dport 6000 -j DENY
#
/sbin/ipchains -A input -i ppp0 -p udp --dport 37 -j DENY
/sbin/ipchains -A input -i ppp0 -p udp --dport 137 -j DENY
/sbin/ipchains -A input -i ppp0 -p udp --dport 138 -j DENY
/sbin/ipchains -A input -i ppp0 -p udp --dport 139 -j DENY
/sbin/ipchains -A input -i ppp0 -p udp --dport 143 -j DENY
/sbin/ipchains -A input -i ppp0 -p udp --dport 513 -j DENY
/sbin/ipchains -A input -i ppp0 -p udp --dport 514 -j DENY
/sbin/ipchains -A input -i ppp0 -p udp --dport 515 -j DENY
#
/sbin/ipchains -A input -i ppp0 -p udp --dport 110 -j DENY
/sbin/ipchains -A input -i ppp0 -p udp --dport 143 -j DENY
/sbin/ipchains -A input -i ppp0 -p udp --dport 1026 -j DENY
/sbin/ipchains -A input -i ppp0 -p udp --dport 6000 -j DENY
fi
-----------------------------<cut here>-------------------------------
>> Have you put the ISP's (?) DNS server Ip addresses in the
>> /etc/resolv.conf file on each of the internal network computers?
>3. Box A has no problem using dns servers for name lookup.
>6. All three boxes have identical etc/resolv.conf files.
>> From my experience the thing missing looks to be /etc/resolv.conf.
>> Good luck and I hope this helps!
------------------------------------------------
Doug Mitton - Brockville, Ontario, Canada
'City of the Thousand Islands'
http://www.*tap.com/dmitton
Other: mitton.dyndns.org
SPAM Reduction: Remove "x." from my domain.
------------------------------------------------