configure ftpd port range

Lowell Gilbert freebsd-questions-local at be-well.no-ip.com
Mon Jul 28 10:42:50 PDT 2003


John DeStefano <deesto at yahoo.com> writes:

> > Lowell Gilbert <freebsd-questions-local at be-well.no-ip.com>> wrote:
> Thanks for your response, Lowell, as always.
>  
> John DeStefano writes:
> >> Due to ISP restrictions, I must change the default port on which
> ftpd
> >> runs in order to enable ftp access to and from my machine.
>  
> > That would violate the FTP spec, and isn't supported (IIRC) by the
> > standard FreeBSD ftpd.
>  
> Obviously, I'm not looking to 'violate' any specs, or to have any
> RFCs changed in order to accomodate my personal server.  I'm just
> looking for a viable solution to a problem that I'm sure others have
> come across.

NAT is very unfriendly to the FTP protocol (in fact, firewalling isn't
especially nice about it either), so it's always painful to do what
you want.  If it's strictly for personal use, scp is a lot easier to
get running under those configurations, and loads more secure to boot.

> >> I had to do the same for my httpd server, but that information was a
> >> bit more accessible.
> >> Reading material has been sparse, but I've read that adding a port
> >> number/range to the ftpd entry /etc/services and /etc/inetd.conf
> might
> >> do the trick.
> >> Is this an acceptible way of going about changing the ftp ports?
>  
> > It won't work.
>  
> Why not?  If you were to specify a new port number both in 'services'
> and 'inetd.conf', and the proper firewall holes were punched, why would
> it fail?

Because ftpd doesn't consult those files for opening up its ports.
Because the port numbers are hard-coded in the spec, they're
hard-coded in the server as well.

> Strangely enough, it sounds like moving away from the stock ftpd,
> and using a 3PP daemon to configure the new ports, is the way to go.
> Any suggestions on ports and methods?

Sorry, I don't run *any* FTP any more.  

> >> Quick sidebar: DNS is setting my domainname to my ISP's domain,
> >> not my local domain, which is causing some problems. "man
> >> domainname" tells me " The super-user can set the domain name by
> >> supplying an argument", which I assume means "domainname
> >> ". But this setting does not stick on reboot. Is there an
> >> easy fix?
> > According to the FreeBSD Handbook, the FreeBSD FAQ, and the
> rc.conf(5)
> > manual, setting "hostname" in /etc/rc.conf is what you're looking
> for.
>  
> The handbook merely specifies to use the format:
> hostname="foo.example.com"
> in rc.conf; it doesn't say what to do when the system automatically
> changes the hostname on you on boot/reboot, presumably due to DHCP
> communications.  I could be mistaken, but I don't see this topic in the
> FAQ (which currently covers up to 4.X) at all.  'man' says:
> "If dhclient(8) is used to set the hostname via DHCP, this variable
> should be set to an empty string."  However, I believe that's what's
> happening now and may be the reason why 'hostname' is getting reset
> incorrectly; see below:
>  
> # cat /etc/rc.conf |grep hostname
> #hostname="gandalf.istari"
> hostname="gandalf"
> hostname="gandalf.Optonline.net"
>  
> My manual entry has been commented out, and new entries made.  How
> would
> one keep this from getting changed automatically?

Hmm.  You'd have to look at why that was happening.  I don't know
offhand, and I can't really experiment with it at the moment.


More information about the freebsd-questions mailing list