info.Vision wrote:
Hi If you get internal addresses in the NAT on the outside of the firewall then you need to MAP ports and IP's to the inside the machine
and add a set of rules that esentially Network address TRANSLATE (NAT)
to the outside at the firewall. you need to
1. map port and internal IP to WHAT outside IP you want - the outside machines need to route back to the source IP on the HTTP request - obvisously the interal IP is NOT ROUTABLE. so you need the NAT and a ROUTABLE IP to do that.
2. FTP works because if you are using PASSIVE mode or the server enters
passive mode on the other side then the NAT will happen their. That is NOT the same for BROWSERS , IM, Skype .etc.... 3. Check out the rules to NATTING and Address translation for your FW setup. you need to create the Map in the FW and it should work fine.

regards, the Info.Vision Folks.


Yes, this is what I have (or at least what I think I have). I realized that my 
original post did not have correct labeling so I'm posting the rules again.

The problem doesn't seem to be that nat is not working, but rather the ftp 
server is sending out its internal ip in the data stream when the data-port 
info is sent to the client. I have been doing a NATted firewall using Mandrake 
and Shorewall without any trouble, and will likely have to go back if a can't 
figure out how to get pf to do the same. I would like to use pf as there is so 
much more I can do with it. I'm hoping that it is just something that I'm 
overlooking.

After reading over many threads, it seems that I'm out of luck. Some firewalls 
do modify the data as well as the packet in the nat translation but pf does 
not. I just hope I'm wrong on this. I have also found that some ftp servers 
allow you to set what info the server is to pass out, but I'm using that 
glorious M$ IIS and there isn't anything you can do but give yourself a big 
headache. (This is also why I have such a large amount of data ports forwarded. 
IIS uses 1024:5000 and I haven't found what port my RedHat servers use, but 
that is for another day. I just open them all until I get it working.)

ext_if=rl0
int_if=dc0

ext_ip=69.7.x.x
alias=69.7.x.a (not actually in pf.conf)

ftp_ext_ip=69.7.x.a

ftp_int_ip=172.16.8.4

nat on $ext_if from $ftp_int_ip to any -> $ftp_ext_ip //My nat rule for ftp 
servers routable IP

rdr on $ext_if proto tcp from any to $ftp_ext_ip port 21 -> $ftp_int_ip port 21
rdr on $ext_if proto tcp from any to $ftp_ext_ip port 1024:65535 -> $ftp_int_ip

pass in quick on $ext_if proto tcp from any to $int_if port 21\
keep state

pass in quick on $ext_if proto tcp from any to $int_if port\ 1024:65535 keep state

Paul

Reply via email to