On Mon, 20 Mar 2000, Stephen Smith wrote: > I want to accept DNS server use from a range of IP addresses. How do I do that? > > I tried using IPChains - accepting from certain subnets and denying everyone else. > But that blocked the lookups from the other servers. # Undefine LOCALNET if there is no network card LOCALNET=10.1.1.0 INTIP=10.1.1.96 EXTIP=192.168.1.90 # Find out what nameservers we use NAMESERVERS=`awk '($1 ~ "nameserver") {print $2}' < /etc/resolv.conf` if [ -z "$NAMESERVERS" ] then ipchains -A ext-in -j ACCEPT -p TCP -d 0/0 53 ipchains -A ext-in -j ACCEPT -p UDP -d 0/0 53 else for NAMESERVER in ${NAMESERVERS} ; do ipchains -A ext-in -j ACCEPT -p TCP -s $NAMESERVER -d $EXTIP 53 ipchains -A ext-in -j ACCEPT -p UDP -s $NAMESERVER -d $EXTIP 53 done fi # for internal use of dns services ipchains -A int-in -j ACCEPT -p TCP -s $LOCALNET/24 -d $INTIP 53 ipchains -A int-in -j ACCEPT -p UDP -s $LOCALNET/24 -d $INTIP 53 # ext-in is the input chain for the external interface # int-in is the input chain for the internal interface Don't forget the dns stuff that Mike suggested as well. If you throw a "-l" on the end of all of the above ipchains commands you should see ACCEPTs in the logs when queries are made. Also don't forget that dns queries to port 53 in both TCP and UDP from either above 1023 or from port 53. ciao, der.hans -- # +++++++++++=================================+++++++++++ # # der.hans@LuftHans.com www.excelco.com # # http://home.pages.de/~lufthans/ # # I'm not anti-social, I'm pro-individual. - der.hans # # ===========+++++++++++++++++++++++++++++++++=========== #