CPUG

The Check Point User Group

A Resource For The Check Point Community.  Fast.  Useful.  Independent.

1. CCSA/CCSE One-Week Dual-Certification Training Course with CPUG in San Francisco!
    Courses Starting 12/8, (2009) 1/19, 2/9, 3/9, 4/6, 5/4, 6/8, 7/6, 8/3.
2. Join Us On LinkedIn - We now have a CPUG group.


Go Back   CPUG: The Check Point User Group > Check Point Firewall-1/VPN-1 And Related Products > NAT (Network Address Translation)
Register FAQ Members List Calendar Search Today's Posts Mark Forums Read

Reply
 
LinkBack Thread Tools Display Modes
  #1 (permalink)  
Old 2005-08-13
Administrator
 
Join Date: 2005-08-11
Location: San Francisco, CA
Posts: 582
Rep Power: 10
BarryStiefel has disabled reputation
Default Hide NAT and Traceroute from Windows machines fails.

Hide NAT and Traceroute from Windows machines fails.



Short Answer: FireWall-1 4.0 should support this. Earlier versions of FireWall-1 do not. There are bugs with this in NG FP2 (possibly before) that are fixed in NG FP3 or with a hotfix to FP2.

Background: With HIDE translations, FireWall-1 has to munge source ports so it can keep track of "reply" packets. With ICMP packets, there is no source or destination ports, so it has to use the data portion of an ICMP packet to encode state information (it's usually garbage anyway). An ICMP Echo-Reply packet usually sends back all the data that was sent to it, so a normal ICMP Echo-Request and ICMP Echo-Reply sequence should work fine through a HIDE NAT. Other sorts of ICMP packets (particularly Time-Exceeded) do not send back all of the data sent at it.

Unix traceroute is done with high-port UDP packets with a short TTL. These "hide" very nicely as the Time-Exceeded packets sent back by each hop contain enough "state" information for FireWall-1 to figure out whose traceroute the message is in response to. FireWall-1 then routes the Time-Exceeded message to the appropriate host.

Microsoft traceroute (used in all Windows products) uses ICMP Echo-Request packets with a short TTL. The state information gets encoded into the data portion of the packet when it goes through your FireWall-1 machine as all other ICMP packets do. However, the ICMP Time-Exceeded packets usually sent back by each hop do not contain the entire data portion of the packet, and it's usually not enough information for FireWall-1 to decode which machine sent the original ICMP Echo Request. This is why you get all the way to your firewall, '*'s for each hop outside of the firewall, and then the final destination.

When Microsoft traceroute reaches the final destination, it is simply an echo-request/echo-reply sequence, which will return the entire data portion of the packet, thus the state information necessary for FireWall-1 to direct the ICMP Echo Reply packet to its intended destination.

If you are using NG+FP2 AND you don't want to update to FP3 AND you want to use traceroute from WIN client, here is one possibility: Download Necrosoft traceroute from http://www.nscan.org/?index=download, it's free. Program runs on WIN and uses "Unix type" UDP based traceroute which works OK.

-- PhoneBoy - 11 Jan 2004

FAQForm FAQs.Class: TroubleshootingFAQs FAQs.OS: OsWindows FAQs.Version:
Reply With Quote
Reply

Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are Off
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are On


All times are GMT -7. The time now is 12:41.


Powered by vBulletin® Version 3.7.4
Copyright ©2000 - 2008, Jelsoft Enterprises Ltd.
Content Relevant URLs by vBSEO 3.2.0