PfSense 2.3 TFTP server



  • I just upgraded to pfSense 2.3 from 2.2. The new interface looks great, though I'm still trying to get used to it.

    One thing that's missing from 2.3 is the TFTP package. Back on 2.2 I was able to install the TFTP package on pfSense, and serve the boot files directly from the pfSense box.

    Is there a replacement for the TFTP service in 2.3?



  • Looks like the tFTP package has been removed because it doesn't have a maintainer.  https://doc.pfsense.org/index.php/2.3_Removed_Packages

    Not sure if there are alternative solutions… I know there's a tFTP proxy setting someplace, but haven't tried it.  I know I've tried using tFTP trough a tunnel and haven't been able to get it to work... though that was before I knew about the proxy setting.

    We'll have to see if the proxy will work via a tunnel and if not, maybe someone will become maintainer of the package.  I won't be able to spend time to figure out how to maintain a package for a while, so hopefully the proxy setting will work.



  • The TFTP option you mentioned is the one for the proxy, which you could use to set up a TFTP server on a different machine.

    Yes, it's inconvenient, but not a roadblock.

    In the meantime I reverted back to 2.2.6. The main problem I had about 24 hours after upgrading to 2.3 was that the firewall stopped working entirely. I'm not sure what the problem was or whether it was fixed in 2.3.1, but I couldn't afford to experiment further.

    It seems to me the version number of the new release should have been bumped to 3.0. Version 2.3 is just way too different than 2.2, it feels almost like the migration from 1.0 to 2.0.



  • Are my files that were uploaded to the router through TFTP gone?

    If not, where on the HD can I locate them?



  • @Decksi:

    If not, where on the HD can I locate them?

    I don't remember if the upgrade process removed them, but I don't think so. They should be in /tftpboot.



  • @ovidiu:

    @Decksi:

    If not, where on the HD can I locate them?

    I don't remember if the upgrade process removed them, but I don't think so. They should be in /tftpboot.

    Yes they are still there. Thank you  :)



  • I wanted to remark on how to fix this issue, in English.  An individual explained, in sort, but in Russian how to fix this issue.  With translations I think things are fairly unclear, so if anyone would like to know how to fix this, in an unsupported manner, you can do the following:

    Execute:
    vi /usr/local/etc/pkg/repos/pfSense.conf

    Remove the first line of this file, if it's disabling the pkg's tree for FreeBSD (i.e. FreeBSD: { enabled: no })

    Execute:
    vi /usr/local/etc/pkg/repos/FreeBSD.conf

    Update FreeBSD.conf to reflect the following:

    FreeBSD1: {
            url: "http://pkg.FreeBSD.org/${ABI}/latest",
            mirror_type: "srv",
            enabled: "yes"
    }
    FreeBSD2: {
            url: "http://pkg.us-east.FreeBSD.org/${ABI}/latest",
            mirror_type: "srv",
            enabled: "yes"
    }
    FreeBSD3: {
            url: "http://pkg.us-west.FreeBSD.org/${ABI}/latest",
            mirror_type: "srv",
            enabled: "yes"
    }

    #EOF

    Execute:
    pkg update
    pkg install tftp-hpa
    pw groupadd tftpd
    pw useradd tftpd -c TFTP\ manager -d /nonexistent -g tftpd -s /usr/sbin/nologin
    mkdir /tftpboot
    chown tftpd:tftpd /tftpboot
    chmod 750 /tftpboot
    echo '# TFTP Server' >> /etc/rc.conf.local
    echo 'tftpd_enable="YES"' >> /etc/rc.conf.local
    chmod 0755 /etc/rc.conf.local
    cp /usr/local/etc/rc.d/tftpd /usr/local/etc/rc.d/tftpd.old
    vi /usr/local/etc/rc.d/tftpd

    Update tftpd to reflect the following:
    #!/bin/sh

    $FreeBSD: branches/2016Q3/ftp/tftp-hpa/files/tftpd.in 340872 2014-01-24 00:14:07Z mat $

    PROVIDE: tftpd

    REQUIRE: NETWORKING

    KEYWORD: shutdown

    Add the following line to /etc/rc.conf to enable tftpd:

    tftpd_enable="YES"

    . /etc/rc.subr

    name="tftpd"
    rcvar=tftpd_enable
    pidfile=${tftpd_pidfile:-"/var/run/tftpd.pid"}
    command="/usr/local/libexec/in.tftpd"
    command_args="-P $pidfile -l"

    load_rc_config $name
    : ${tftpd_enable:="NO"}
    : ${tftpd_flags:="-u tftpd -s /tftpboot"}
    : ${tftpd_datadir="/tftpboot"}
    run_rc_command "$1"

    #EOF

    You can now reboot your server or issue:

    Execute:
    service tftpd start



  • So do I unwind the FreeBSD mods after I install TFTP?


Log in to reply