Configuring RWhois for IP address manager

Overview


Recent IPAM plugin update introduces ability to run your own RWhois server compatible with RWhois protocol v1.0 / v1.5.
RWhois server should work on port 4321 and this document explains how to set this service on your server with IPAM plugin

Configuring IPAM


After IPAM update, new tab should be available in your IPAM module - RWhois, as can be seen below:

Using this page, configure following for your RWhois server:

  1. Server hostname - it will most likely your HostBill server (if rwhois service will run on same machine as HostBill). It will be displayed on rwhois "greeting" response
  2. Default POC contact details:
    If customer assigned to IP/network does not have their own contact for POC contact, default one will be used, you can set it here:
    • Name
    • Email
    • Phone
  3. Default Tech contact details: 
    If customer assigned to IP/network does not have their own contact for Tech contact, default one will be used, you can set it here:
    • Name
    • Email
    • Phone
  4. Network ID prefix 
    When sending response about network:ID, IPAM will use following template: {PREFIX}{ID}.{NETWORK}, where:
    • {PREFIX} can be configured here
    • {ID} is internal network ID in HostBill database
    • {NETWORK} is network/IP address
  5. Tech contact prefix 
    When sending response about network:Tech-Contact, IPAM will use following template: {PREFIX}{ID}.{NETWORK}, where:
    • {PREFIX} can be configured here
    • {ID} is internal network ID in HostBill database
    • {NETWORK} is network/IP address

Configuring HostBill


Your clients may want to be a POC and/or Tech contacts for their networks. You can add new checkbox registration field to HostBill (can be admin-only) that will allow to point contact/main profile as a source of details for Tech/POC contacts. 

  1. To add said registration field for marking RWhois Tech contact, proceed to Clients → Registration fields in your HostBill
  2. Click Add new field
  3. Enter field name, set type to checkbox

  4. Under Advanced tab, set field variable to rwhoistech, here you can also decide if this field is admin-only or if customer can control this field

  5. Repeat steps above for RWhois POC contact, using rwhoispoc variable in step 4

Customer/profile details with checkboxes above enabled that are assigned to network will be used in contact: rwhois response part.

Configuring server



Please note that description below is for servers where HostBill is located under /home/hostbill/public_html/ directory, adjust details below if you use different location for your HostBill install.
Instructions/commands below are for CentOS 7 (preferred OS for HostBill enterprise), if you use different OS/version you may need to adjust commands to suit it.

  1. Install xinetd 

    yum install xinetd
  2. Ensure /includes/modules/Other/ipam/rwhois.php is executable:

    chmod a+x /home/hostbill/public_html/includes/modules/Other/ipam/rwhois.php
  3. Add file: /etc/xinetd.d/rwhois with following content:

    service rwhois
    {
        protocol    = tcp
        disable     = no
        wait        = no
        server      = /home/hostbill/public_html/includes/modules/Other/ipam/rwhois.php
        port        = 4321
        user        = hostbill
        group       = hostbill
        socket_type = stream
        type        = UNLISTED
        instances   = UNLIMITED
    }
    
  4. Start/enable xinetd:

    systemctl start xinetd
    systemctl enable xinetd

Testing RWhois IPAM


  • Assign IP address in your IPAM to a customer
  • Issue whois command in linux shell.
    Replace rwhois.hostbillapp.com with your actual HostBill hostname and IP address with one assigned in the step above:

    whois -h rwhois.hostbillapp.com  -p4321 192.168.0.2
    
  • Your RWhois server should reply with something simmilar to:

    %rwhois V-1.0,V-1.5:002090:00 rwhois.hostbillapp.com (HostBill RWhois Server V-1.0.0)
    autharea=192.168.0.0/28
    xautharea=192.168.0.0/28
    network:Class-Name:network
    network:Auth-Area:192.168.0.0/28
    network:ID:NET-3.192.168.0.2
    network:Network-Name:
    network:IP-Network:192.168.0.2
    network:IP-Network-Block:192.168.0.2
    network:Org-Name:Christopher Nolun
    network:Street-Address:Another
    network:City:Another
    network:State:Alabama
    network:Postal-Code:Another
    network:Country-Code:US
    network:Tech-Contact:TECH-3.192.168.0.2
    network:Created:20171108110858000
    network:Updated:20171108111756000
    network:Updated-By:noc@hostbillapp.com
    contact:POC-Name:Network Administrator
    contact:POC-Email:noc@hostbillapp.com
    contact:POC-Phone:
    contact:Tech-Name:Christopher Nolun
    contact:Tech-Email:test@test.com
    contact:Tech-Phone:+1-123-12312311
    %ok