D3 and mvBase

 View Only

D3 and the Deprecation of Xinetd in Linux Version 9

  • 1.  D3 and the Deprecation of Xinetd in Linux Version 9

    ROCKETEER
    Posted 20 days ago

    When Linux got rid of xinetd in version 9, changes had to be made to D3, particularly in the area of telnet listeners. This includes turnkey telnet (telnet to Linux and get a D3 login prompt instead of a Linux login prompt), nailed telnet (a range of TCP ports that each connect to a specific PIB instead of the next available PIB), as well as the MVSP telnet listener, typically on TCP port 9000. systemd replaced the xinded functionality and is now used by D3 to set up these listeners.

    Now that D3 over Linux version 9 has been out for a while, it has come to our attention that there are some things missing from D3's systemd configuration which is causing some D3 and Linux stability issues. We are currently working to get formal patches out to mitigate these issues. Meanwhile, the fixes we are implementing are listed below and can be implemented manually to alleviate the problem while we're waiting for the formal patches.


    ______D3 Turnkey Telnet Service______

    To fix a standard D3 telnet listener, modify /etc/systemd/system/d323@.service (or whatever its name is) as follows:

    Description=D3's Telnet Server

    [Service]
    ExecStart=/usr/bin/d3net/d3_tel -w /usr/bin/d3net/d3telnet -p 23
    KillSignal=SIGHUP
    StandardInput=socket

    Add these two lines at the end:

    KillMode=none
    SuccessExitStatus=1

    ______D3's AUTO-XINET Utility______

    To fix D3's AUTO-XINET utility for setting up nailed telnets:

    Edit DM,MESSAGES, auto-xinet.lx as follows

    In this section:

    050    echo "StandardInput=socket"                                   >> ${XINET_PATH}/d3${PORT}@.service
    051    echo "KillMode=none"                                          >> ${XINET_PATH}/d3${PORT}@.service

    Add line 52:

    050    echo "StandardInput=socket"                                   >> ${XINET_PATH}/d3${PORT}@.service
    051    echo "KillMode=none"                                          >> ${XINET_PATH}/d3${PORT}@.service
    052    echo "SuccessExitStatus=1"                                    >> ${XINET_PATH}/d3${PORT}@.service

    If line 51 "KillMode" doesn't exist, add it too.

    Once that's done, use AUTO-XINET to remove and re-add any nailed telnet ports you have defined.

    ______MVSP Telnet Service______

    The MVSP telnet service needs the same change:

    Edit /etc/systemd/system/D3MVSPpick0@.service

    [Unit]
    Description=D3's per connection MVSP server for pick0

    [Service]
    ExecStart=/usr/bin/d3net/d3_tel -m -w /usr/bin/d3net/D3MVSPpick0 -p 9000
    StandardInput=socket
    KillMode=none
    SuccessExitStatus=1



    ------------------------------
    Brian S. Cram
    Principal Technical Support Engineer
    Rocket Software
    ------------------------------