Charles Steinkuehler wrote:
> 

[ snip ]

> 
> If you want to open UDP services to the outside world, an ALLOW rule for the
> response packets needs to be generated, so the packets don't hit the "catch
> all" UDP masqerade rule at the end of the DMZ rules in the forward chain
> (which allows DMZ systems to do things like make NTP requests to the
> internet w/o any additional setup).  Anyway, you need to find the following
> in /etc/ipfilter.conf...it starts around line 746 on my firewall:
> 
> for DEST in $DMZ_OPEN_DEST; do
>     $IPCH -A forward -j ACCEPT -p `echoProto $DEST` \
>         -d `echoIpPort $DEST` -i $DMZ_IF
> done; unset DEST
> 
> You need to add a case statment to generate the return-packet rule for any
> UDP traffic, like so:
> 
> for DEST in $DMZ_OPEN_DEST; do
>     $IPCH -A forward -j ACCEPT -p `echoProto $DEST` \
>         -d `echoIpPort $DEST` -i $DMZ_IF
>     case "$DEST" in
>         UDP_*|udp_*|17_*)
>             $IPCH -A forward -j ACCEPT -p `echoProto $DEST` \
>             -s `echoIpPort $DEST` -i $EXTERN_IF ;;
>     esac
> done; unset DEST

Bravo!  This works for internet hosts to snmpwalk dmz hosts . . .

> That should get you over the first hurdle.  The next potential problem is
> the remote system firewalling inbound SNMP traffic (the ICMP unreachable
> messages), but I think this is due to the response packets coming from the
> wrong IP.  If you still get ICMP messages after fixing ipfilter.conf, you'll
> need to examine the configuration on the remote firewall.
> 
> The final problem is the fact that you can't do an snmpwalk from the
> firewall to the DMZ.  Apparently, the SNMP query packets are transmitted,
> but no response is recieved.  I still don't understand why this is
> happening, especially if you can do an snmpwalk from the internal network (I
> think I remember you saying you could...)
> 
> Patch your ipfilter.conf, and see how much farther that gets you.  If you
> still can't snmpwalk from the firewall, take tcpdumps at both the firewall
> (DMZ IF) and the DMZ system, while trying to snmpwalk from both the firewall
> and from an internal system.

Following are dumps for snmpwalk failure between DCD and one of its dmz
hosts.  I have tried to remove spurious data, like Unknown IPX packet
stuff ;<  The rest I could not rule out -- can you?

[1] tcpdump on DCD, ostensibly pointing only to itself:

tcpdump \
        -i eth1 \
        -l \
        -n \
        not port domain \
        and not port smtp \
        and not port ssh \
        and not port www

12:40:34.280871 w.x.y.65.4712 > w.x.y.66.161:  C=privateCommunity
GetNextRequest(3)[|snmp]
12:40:35.290141 w.x.y.65.4712 > w.x.y.66.161:  C=privateCommunity
GetNextRequest(3)[|snmp]
12:40:36.300099 w.x.y.65.4712 > w.x.y.66.161:  C=privateCommunity
GetNextRequest(3)[|snmp]
12:40:37.310112 w.x.y.65.4712 > w.x.y.66.161:  C=privateCommunity
GetNextRequest(3)[|snmp]
12:40:38.320089 w.x.y.65.4712 > w.x.y.66.161:  C=privateCommunity
GetNextRequest(3)[|snmp]
12:40:39.280028 arp who-has w.x.y.66 tell w.x.y.65
12:40:39.280169 arp reply w.x.y.66 is-at 0:6:29:a8:1d:df
12:40:39.330112 w.x.y.65.4712 > w.x.y.66.161:  C=privateCommunity
GetNextRequest(3)[|snmp]
12:40:58.557946 w.x.y.65.62737 > w.x.y.66.110: S
2835461865:2835461865(0) win 64240 <mss 1460,nop,nop,sackOK> (DF)
12:40:58.558166 w.x.y.66.110 > w.x.y.65.62737: S
1431617489:1431617489(0) ack 2835461866 win 6144 <mss 1460> (DF)
12:40:58.558464 w.x.y.65.62737 > w.x.y.66.110: . ack 1 win 64240 (DF)
12:40:58.559094 w.x.y.66.110 > w.x.y.65.62737: P 1:34(33) ack 1 win 6144
(DF)
12:40:58.559721 w.x.y.65.62737 > w.x.y.66.110: P 1:12(11) ack 34 win
64207 (DF)
12:40:58.559956 w.x.y.66.110 > w.x.y.65.62737: P 34:39(5) ack 12 win
6133 (DF)
12:40:58.560445 w.x.y.65.62737 > w.x.y.66.110: P 12:25(13) ack 39 win
64202 (DF)
12:40:58.560617 w.x.y.66.110 > w.x.y.65.62737: P 39:44(5) ack 25 win
6120 (DF)
12:40:58.561085 w.x.y.65.62737 > w.x.y.66.110: P 25:31(6) ack 44 win
64197 (DF)
12:40:58.658497 w.x.y.66.110 > w.x.y.65.62737: . ack 31 win 6114 (DF)
12:40:58.779543 w.x.y.66.110 > w.x.y.65.62737: P 44:53(9) ack 31 win
6114 (DF)
12:40:58.780089 w.x.y.65.62737 > w.x.y.66.110: P 31:37(6) ack 53 win
64188 (DF)
12:40:58.780343 w.x.y.66.110 > w.x.y.65.62737: P 53:92(39) ack 37 win
6108 (DF)
12:40:58.780857 w.x.y.65.62737 > w.x.y.66.110: F 37:37(0) ack 92 win
64149 (DF)
12:40:58.780842 w.x.y.66.110 > w.x.y.65.62737: FP 92:92(0) ack 37 win
6108 (DF)
12:40:58.781059 w.x.y.66.110 > w.x.y.65.62737: . ack 38 win 6107 (DF)
12:40:58.781183 w.x.y.65.62737 > w.x.y.66.110: . ack 93 win 64149 (DF)
12:41:05.346234 w.x.y.65.4712 > w.x.y.66.161:  C=privateCommunity
GetNextRequest(3)[|snmp]
12:41:06.350100 w.x.y.65.4712 > w.x.y.66.161:  C=privateCommunity
GetNextRequest(3)[|snmp]
12:41:07.360117 w.x.y.65.4712 > w.x.y.66.161:  C=privateCommunity
GetNextRequest(3)[|snmp]
12:41:08.370085 w.x.y.65.4712 > w.x.y.66.161:  C=privateCommunity
GetNextRequest(3)[|snmp]
12:41:09.380095 w.x.y.65.4712 > w.x.y.66.161:  C=privateCommunity
GetNextRequest(3)[|snmp]
12:41:10.390114 w.x.y.65.4712 > w.x.y.66.161:  C=privateCommunity
GetNextRequest(3)[|snmp]


[1] tcpdump on DCD, ostensibly pointing only to its dmz host:

tcpdump \
        -i eth1 \
        -l \
        -n \
        host w.x.y.66 \
        and not port domain \
        and not port smtp \
        and not port ssh \
        and not port www

12:40:34.280871 w.x.y.65.4712 > w.x.y.66.161:  C=privateCommunity
GetNextRequest(3)[|snmp]
12:40:35.290141 w.x.y.65.4712 > w.x.y.66.161:  C=privateCommunity
GetNextRequest(3)[|snmp]
12:40:36.300099 w.x.y.65.4712 > w.x.y.66.161:  C=privateCommunity
GetNextRequest(3)[|snmp]
12:40:37.310112 w.x.y.65.4712 > w.x.y.66.161:  C=privateCommunity
GetNextRequest(3)[|snmp]
12:40:38.320089 w.x.y.65.4712 > w.x.y.66.161:  C=privateCommunity
GetNextRequest(3)[|snmp]
12:40:39.280028 arp who-has w.x.y.66 tell w.x.y.65
12:40:39.280169 arp reply w.x.y.66 is-at 0:6:29:a8:1d:df
12:40:39.330112 w.x.y.65.4712 > w.x.y.66.161:  C=privateCommunity
GetNextRequest(3)[|snmp]
12:40:58.557946 w.x.y.65.62737 > w.x.y.66.110: S
2835461865:2835461865(0) win 64240 <mss 1460,nop,nop,sackOK> (DF)
12:40:58.558166 w.x.y.66.110 > w.x.y.65.62737: S
1431617489:1431617489(0) ack 2835461866 win 6144 <mss 1460> (DF)
12:40:58.558464 w.x.y.65.62737 > w.x.y.66.110: . ack 1 win 64240 (DF)
12:40:58.559094 w.x.y.66.110 > w.x.y.65.62737: P 1:34(33) ack 1 win 6144
(DF)
12:40:58.559721 w.x.y.65.62737 > w.x.y.66.110: P 1:12(11) ack 34 win
64207 (DF)
12:40:58.559956 w.x.y.66.110 > w.x.y.65.62737: P 34:39(5) ack 12 win
6133 (DF)
12:40:58.560445 w.x.y.65.62737 > w.x.y.66.110: P 12:25(13) ack 39 win
64202 (DF)
12:40:58.560617 w.x.y.66.110 > w.x.y.65.62737: P 39:44(5) ack 25 win
6120 (DF)
12:40:58.561085 w.x.y.65.62737 > w.x.y.66.110: P 25:31(6) ack 44 win
64197 (DF)
12:40:58.658497 w.x.y.66.110 > w.x.y.65.62737: . ack 31 win 6114 (DF)
12:40:58.779543 w.x.y.66.110 > w.x.y.65.62737: P 44:53(9) ack 31 win
6114 (DF)
12:40:58.780089 w.x.y.65.62737 > w.x.y.66.110: P 31:37(6) ack 53 win
64188 (DF)
12:40:58.780343 w.x.y.66.110 > w.x.y.65.62737: P 53:92(39) ack 37 win
6108 (DF)
12:40:58.780857 w.x.y.65.62737 > w.x.y.66.110: F 37:37(0) ack 92 win
64149 (DF)
12:40:58.780842 w.x.y.66.110 > w.x.y.65.62737: FP 92:92(0) ack 37 win
6108 (DF)
12:40:58.781059 w.x.y.66.110 > w.x.y.65.62737: . ack 38 win 6107 (DF)
12:40:58.781183 w.x.y.65.62737 > w.x.y.66.110: . ack 93 win 64149 (DF)
12:41:05.346234 w.x.y.65.4712 > w.x.y.66.161:  C=privateCommunity
GetNextRequest(3)[|snmp]
12:41:06.350100 w.x.y.65.4712 > w.x.y.66.161:  C=privateCommunity
GetNextRequest(3)[|snmp]
12:41:07.360117 w.x.y.65.4712 > w.x.y.66.161:  C=privateCommunity
GetNextRequest(3)[|snmp]
12:41:08.370085 w.x.y.65.4712 > w.x.y.66.161:  C=privateCommunity
GetNextRequest(3)[|snmp]
12:41:09.380095 w.x.y.65.4712 > w.x.y.66.161:  C=privateCommunity
GetNextRequest(3)[|snmp]
12:41:10.390114 w.x.y.65.4712 > w.x.y.66.161:  C=privateCommunity
GetNextRequest(3)[|snmp]


What do you think?

-- 

Best Regards,

mds
mds resource
888.250.3987

Dare to fix things before they break . . .

Our capacity for understanding is inversely proportional to how much we
think we know.  The more I know, the more I know I don't know . . .

_______________________________________________
Leaf-user mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/leaf-user

Reply via email to