Alternatives for the net-tools utilities

Many modern distributions, like for example the upcoming Debian 12 Bookworm, do not install the package net-tools by default. This package contains popular utilities like ifconfig, route, netstat, arp and mii-tool. In this post I give alternatives for these utilities. You can of course just install the net-tools package if you prefer to keep using these commands.

ifconfig

To see the current network configuration:

$ ip addr

To see the currrent configuration for one specific interface, for example enp25s0:

$ ip addr show enp25s0

To add a static IP address to a network interface

$ ip addr add 192.168.10.2/24 dev enp25s0

Replace add by del to remove an IP address.

route

To see the current route table:

$ ip route

To set the default gateway:

$ ip route add default via 192.168.10.1 dev enp25s0

netstat

The ss command lists all open sockets. Some interesting options:

-ashow both open and listening sockets
-lonly show listening sockets
-pshows the process using the socket
-tshow only TCP sockets
-ushow only UDP sockets
-rresolve all IP addresses

To see all open and listening sockets on the system:

$ ss -a

To see all listening TPC and UDP ports:

$ ss -plut

arp

Display the contents of the ARP table:

$ ip neigh

mii-tool

Show the status of an Ethernet interface:

$ ethtool enp25s0

Enabling jumbo frames on your network

Jumbo frames are Ethernet frames with up to 9000 bytes of payload, in contrast to normal frames which have up to 1500 bytes per payload. They are useful on fast (Gigabit Ethernet and faster) networks, because they reduce the overhead. Not only will it result in a higher throughput, it will also reduce CPU usage.

To use jumbo frames, you whole network needs to support it. That means that your switch needs to support jumbo frames (it might need to be enabled by hand), and also all connected hosts need to support jumbo frames. Jumbo frames should also only be used on reliable networks, as the higher payload will make it more costly to resend a frame if packets get lost.

So first you need to make sure your switch has jumbo frame support enabled. I’m using a HP Procurve switch and for this type of switch you can find the instructions here:

$ netcat 10.141.253.1 telnet
Username:
Password:
ProCurve Switch 2824# config
ProCurve Switch 2824(config)# show vlans
ProCurve Switch 2824(config)# vlan $VLAN_ID jumbo
ProCurve Switch 2824(config)# show vlans
ProCurve Switch 2824(config)# write memory

Now that your switch is configured properly, you can configure the hosts.

For hosts which have a static IP configured in /etc/network/interfaces you need to add the line

    mtu 9000

to the iface stanza of the interface on which you want to enable jumbo frames. This does not work for interfaces getting an IP via DHCP, because they will use the MTU value sent by the DHCP server.

To enable jumbo frames via DHCP, edit the /etc/dhcp/dhcpd.conf file on the DHCP server, and add this to the subnet stanza:

option interface-mtu 9000;

Now bring the network interface offline and online, and jumbo frames should be enabled. You can verify with the command

# ip addr show

which will show the mtu values for all network interfaces.

NetworkManager in Mandriva

Already for some time, I experience some annoyances in Mandriva’s wifi configuration tools especially when moving my laptop from one to another location with a different wifi network where I connect to. The list of inaccessible wifi networks is not cleaned up in the network applet when moving the system, the network applet says it connected to network X, while in reality it connects to network Y and it only reconnects automatically to the last SSID you were connected to but not to a previously known SSID.

Other distributions (Fedora, Debian/Ubuntu and also OpenSUSE if I am not mistaken) are using NetworkManager for some time. When working on these other distributions, I always had the feeling that NetworkManager was actually nicer than Mandriva’s tools: not only did not it have these little annoyances, its GUI also looked much less cluttered. Another advantage is that lots of applications can make use of NetworkManager’s status. For example, Evolution will nicely switch to off line mode when there is no connection instead of starting to annoy you with error messages in its status bar. Once NetworkManager reconnects, Evolution will switch back to online mode again.

So I was interested in trying out how well NetworkManager worked in Mandriva. I updated the networkmanager package (which actually was already available in Mandriva), and I created a Mandriva package for networkmanager-applet, the GUI front-end.

To my surprise, the packages were immediately functional in Mandriva. The (known) disadvantage is that NetworkManager does not really work together with the standard network configuration tools, especially not in Mandriva because Mandriva’s configuration tools do not take NetworkManager into account, unlike Fedora’s, which let you choose whether a network interface should be controlled by NeworkManager or not. In practice, this means that it is best to remove Mandriva’s standard network configuration by removing the ifcfg files for the network interfaces you want to control with NetworkManager in /etc/sysconfig/network-scripts. I guess removing the connection in Mandriva’s Control Centre might work too, but I have not tested this. If you do not do this, you risk that NetworkManager and Mandriva’s networking tools will both try to configure the same network interface, interfering with each other.

Connecting to my wifi network was dead easy with NetworkManager. I configured it to connect automatically to my wifi network and to make it available for all users. NetworkManager now automatically connects while booting the system.

Its GUI is really a relief. It looks nice and uncluttered. It does not put lots of things in two or three level deep submenus like Mandriva’s applet and does not clutter the menu by trying to show all networks when lots of different APs are available. Also the fact that it does not pop-up another application window when selecting a network to connect to (Mandriva starts up drakroam when selecting an SSID in net_applet) is nice.

I will need do some more testing to really know for sure that there are no new annoyances now, but the first experience is positive. I think that the integration with other applications like Evolution is non-functional in Mandriva however, because these applications need to be build with NetworkManager support. This will most likely not happen, because Mandriva does not want to support this. Also I have not yet packaged the VPN configuration bits for NetworkManager, but I will probably do that in the future.

If you are having problems with the Mandriva network configuration tools, you are welcome to try out NetworkManager and let me know your experience. However, keep in mind that this is totally unsupported in Mandriva and do not expect us to fix bugs you may encounter. It seems useful for me and so it may be for others, but your mileage may vary. But if you do not have any problem with the standard Mandriva configuration tools, do not bother to try this. Especially on desktop systems which are never moved, there does not seem to be any advantage in trying out NetworkManager.

Oh yes, In case you are wondering, I am aware of Mandriva’s criticism on NetworkManager. Honestly, I don not really care about that: I want a tool which works good and looks nice and NetworkManager seems to fulfil this need for me.

NetworkManager's applet in Mandriva 2010.0
NetworkManager's applet in Mandriva 2010.0