Network Setup

IRIX unlike modern Linux distros, Windows and macOS necessitates some level of manual configuration.

Some of the tasks here can be accomplished via the GUI, but it is valuable to understand the networking stack in IRIX.

Major Components

IRIX's network stack consists of several components:

  • inetd - This not only controls the major network services, like telnet and rlogind, it also controls the network and updates to the network necessitate restarts of inetd.
  • /etc/hosts - The hosts file, which sets the IP address of the server.
  • /etc/nsswitch.conf - This tells IRIX where to obtain various components.
  • /etc/resolv.conf - This contains the resolvers IRIX uses, plus the search domain.
  • /etc/sys_id - Sets the hostname.
  • /etc/config/static-route.options - Sets the default routes in absence of DHCP.
  • /etc/config/ipaliases.options - For additional IP addresses.
  • routed - Used for DHCP routing.
  • autoconfig_ipaddress - DHCP service


With some luck IRIX DHCP will work out of the box, but it's good practice to set static network IPs for management purposes.

Static IP Setup

What follows is a guide intended to provide a basic set up into setting up network on IRIX 6.5 or later. For older versions, please check Apocrypha

Set the Hostname:

# printf "octane" > /etc/sys_id

The above command will set the hostname to octane. Set it as desired by replacing the string inside the quotes. This does NOT include the domain name.

Assign IP Address

To self-assign an IP, open up the /etc/hosts file and remove the IRIS line. Then, add the following line:

192.168.1.10 octane.home.local octane

This line should be the desired IP, followed by the fully qualified hostname, and the hostname at the end.

Turning off DHCP and routed

Now, disable these:

# chkconfig autoconfig_ipaddress off

# chkconfig routed off

IP Aliasing

This step is optional, but if more IP addresses are required, they can be added.

First, verify the default interface:

% /usr/etc/ifconfig -a

tg0: flags=8f15c43<UP,BROADCAST,RUNNING,FILTMULTI,MULTICAST,CKSUM,DRVRLOCK,LINK0,L2IPFRAG,L2TCPSEG,IPALIAS,HIGHBW,IPV6>
inet 192.168.1.10 netmask 0xffffff00 broadcast 192.168.1.255
lo0: flags=8001849<UP,LOOPBACK,RUNNING,MULTICAST,CKSUM,IPV6>

inet 127.0.0.1 netmask 0xff000000


lo0 is the localhost loopback, so the default will generally be the other interface, unless there's many cards, in which case, it's a matter of trial and error if not known.

In any case, once determined, move on to setting aliases. Edit /etc/config/ipaliases.options, adding aliases using the following syntax:

tg0 192.168.1.10 netmask 0xffffff00 broadcast 192.168.1.255


Now turn on the service:

# chkconfig ipaliases on

DNS

Next, edit /etc/resolv.conf with DNS servers and search domains:

nameserver 208.67.222.222 # This is OpenDNS
nameserver 1.1.1.1 # This is Cloudflare, also recommended
domain home.local


To ensure that this file is correctly permissioned, run:

# chmod 644 /etc/resolv.conf

nsswitch.conf

This step ensures that rogue NIS/yp services don't interfere. If planning to use NIS/yp, skip this step.

Change the hosts line to read: "hosts: files dns"

Routing

Finally, add a static route to the default gateway in /etc/config/static-route.options. It is necessary to know this for this guide to work.

$ROUTE $QUIET add net default 192.168.1.1

Reboot and the network should start working.

IPv6

IRIX includes support for IPv6 and it can be enabled as follows:

First, tune the kernel:

systune ip6_enable 1

Then reboot.

Due to some bugs, it's necessary to check strings in the ipv6 files:

# strings /var/ns/lib/libns_dns.so | grep ip6
ip6.arpa.
ip6_rtld


If the above is returned, it's fine

strings /var/ns/lib/libns_dns.so | grep ip6 0123456789abcdefip6.int.


If this is returned, or anything other than .arpa, it's going to require updating. Instructions will follow.