Hi, Here is my iptables script (which does include pre/post routing chains).
Feel free to let me know if Ive left any huge holes :-) And thanks for your help/time.... #!/bin/sh LAN_BCAST_ADDR="192.168.0.255/32" LAN_IF="eth0" INET_IF="ppp0" ####################### # FLUSH ALL RULES FIRST ####################### iptables -F iptables -F INPUT iptables -F OUTPUT iptables -t nat -F iptables -F syn_flood iptables -F log_drop iptables -F udp_pkt iptables -F icmp_pkt iptables -X ####################### # USER DEFINED CHAINS ####################### # SYN-FLOODING PROTECTION iptables -N syn_flood iptables -A syn_flood -m limit --limit 1/s --limit-burst 4 -j RETURN iptables -A syn_flood -j DROP # LOG & DROP iptables -N log_drop iptables -A log_drop -j LOG --log-level warning --log-prefix fw: iptables -A log_drop -j DROP # ICMP from INET iptables -N icmp_pkt iptables -A icmp_pkt -p icmp -m state --state NEW -j DROP iptables -A icmp_pkt -p icmp -m state --state ESTABLISHED,RELATED -j ACCEPT # UDP from INET iptables -N udp_pkt iptables -A udp_pkt -m state --state ESTABLISHED,RELATED -j ACCEPT iptables -A udp_pkt -p udp --sport 4665 --dport 1025: -j ACCEPT iptables -A udp_pkt -p udp --dport netbios-ns -j DROP iptables -A udp_pkt -p udp --dport netbios-dgm -j DROP iptables -A udp_pkt -p udp --dport netbios-ssn -j DROP iptables -A udp_pkt -p udp --dport bootps -j DROP # TCP from INET iptables -N tcp_pkt iptables -A tcp_pkt -p tcp ! --syn -m state --state NEW -j DROP iptables -A tcp_pkt -m state --state ESTABLISHED,RELATED -j ACCEPT iptables -A tcp_pkt -p tcp --syn -j syn_flood iptables -A tcp_pkt -p tcp --dport auth -j DROP iptables -A tcp_pkt -p tcp --dport netbios-ns -j DROP iptables -A tcp_pkt -p tcp --dport netbios-dgm -j DROP iptables -A tcp_pkt -p tcp --dport netbios-ssn -j DROP iptables -A tcp_pkt -p tcp --dport bootps -j DROP iptables -A tcp_pkt -p tcp --dport www -j DROP iptables -A tcp_pkt -p tcp --dport 4661:4666 -j ACCEPT ####################### # PREROUTING ####################### # DROP obviously spoofed IPs iptables -t nat -A PREROUTING -i ${INET_IF} -s 192.168.0.0/16 -j DROP iptables -t nat -A PREROUTING -i ${INET_IF} -s 10.0.0.0/8 -j DROP iptables -t nat -A PREROUTING -i ${INET_IF} -s 172.16.0.0/12 -j DROP iptables -t nat -A PREROUTING -i ${INET_IF} -s 224.0.0.0/4 -j DROP iptables -t nat -A PREROUTING -i ${INET_IF} -s 240.0.0.0/5 -j DROP #iptables -t nat -A PREROUTING -i ${LAN_IF} -s ! 192.168.0.0/24 -j DROP ####################### # INPUT ####################### iptables -P INPUT DROP iptables -A INPUT -i lo -j ACCEPT iptables -A INPUT -i ${LAN_IF} -j ACCEPT iptables -A INPUT -p icmp -j icmp_pkt iptables -A INPUT -p udp -j udp_pkt iptables -A INPUT -p tcp -j tcp_pkt iptables -A INPUT -j log_drop ###################### # FORWARD ###################### iptables -P FORWARD DROP iptables -A FORWARD -i ${LAN_IF} -j ACCEPT iptables -A FORWARD -p icmp -j icmp_pkt iptables -A FORWARD -p udp -j udp_pkt iptables -A FORWARD -p tcp -j tcp_pkt iptables -A FORWARD -j log_drop # UNREAL TOURNAMENT TEST #iptables -A FORWARD -i ${INET_IF} -p udp -m state --state ESTABLISHED,RELATED -j ACCEPT ###################### # OUTPUT ###################### iptables -P OUTPUT ACCEPT iptables -A OUTPUT -p tcp ! --syn -m state --state NEW -j DROP ###################### # MASQUERADING ###################### #iptables -t nat -P POSTROUTING ACCEPT iptables -t nat -A POSTROUTING -o ${INET_IF} -j MASQUERADE ----- Original Message ----- From: "Antony Stone" <[EMAIL PROTECTED]> To: <[EMAIL PROTECTED]> Sent: Thursday, May 30, 2002 9:56 AM Subject: Re: sendto: Operation not permitted > On Friday 31 May 2002 1:43 am, Claudio Mio wrote: > > > However I still cant ping a machine on the internal network even though > > machines on the internal network can ping the firewall. > > Okay - that confirms that the firewall knows how to route packets back to the > internal machines. > > > My routing table is: > > Kernel IP routing table > > Destination Gateway Genmask Flags Metric Ref Use > > Iface > > 217.35.199.203 0.0.0.0 255.255.255.255 UH 0 0 0 > > ppp0 192.168.0.0 0.0.0.0 255.255.255.0 U 0 0 > > 0 eth0 127.0.0.0 0.0.0.0 255.0.0.0 U 0 0 > > 0 lo 0.0.0.0 0.0.0.0 0.0.0.0 U 0 0 > > 0 ppp0 > > Looks good (apart from the formatting which my mailer has just messed up). > > What are your INPUT and OUTPUT chains (and if you have them, what are your > PREROUTING and POSTROUTING chains in the nat table) ? > > > Antony. >