DHCPv6 Relay

Following my earlier post about introduction to DHCPv6, let’s see how DHCPv6 relaying works in practice. In VLAN 60 there is the DHCPv6 client but no DHCPv6 server. The subnet-attached router is configured as DHCPv6 relay, using the DHCPv6 server address from VLAN 41. The components in this setup are: I’ll capture the traffic on […]

Configuring Hourly Log Rotation with Logrotate and Rsyslog

Logrotate runs daily by default on Debian Linux. It is scheduled to run at 00:00:00 with systemd: markku@logtest:~$ systemctl list-timers NEXT LEFT LAST PASSED UNIT ACTIVATES Mon 2023-11-20 00:00:00 EET 2h 20min left Sun 2023-11-19 00:00:17 EET 21h ago logrotate.timer logrotate.service … When you want logrotate to rotate files hourly, you need two changes: For […]

Introduction to DHCPv6

Dynamic Host Configuration Protocol for IPv6 (DHCPv6) is just that: a protocol that can be used for host configuration, defined in RFC 8415. In this post I will introduce some basics of the protocol. DHCPv6 protocol A DHCPv6 message for client-server conversation consists of message type (1 byte), transaction ID (3 bytes) and variable number […]

Network Interface Name Sorting in Python

Evergreen problem in sorting strings: How do you implement human-expected ordering when the strings have varying-length numbers in them? Prime example in the networking world is network interface naming in various devices. Example: >>> interfaces = [“1/1/1”, “1/1/2”, “1/1/10”, “1/1/11”, “1/1/10.32”, “1/1/10.311”, “1/1/10.312”, “eth-1/1/1.1”, “eth-1/1/1.2”, “eth-1/1/1.10”]>>> print(“\n”.join(sorted(interfaces)))1/1/11/1/101/1/10.3111/1/10.3121/1/10.321/1/111/1/2eth-1/1/1.1eth-1/1/1.10eth-1/1/1.2>>> That’s not ideal as the default string sorting […]

Change History for Zabbix Protocols

All the information on this page is gathered from the official Zabbix documentation about the protocols and the upgrade notes. I’m using this information to assist with the Zabbix protocol dissector development in Wireshark, thus not all possible protocol change details will be documented here but mostly only those that affect the dissector. Version history: […]