How you want to have the Unbound DNS server listen on all interfaces

Suppose, not hypothetically, that you have an Unbound server with multiple network interfaces,at least two (which I will call A and B), and you'd like Unboundto listen on all of the interfaces. Perhaps these are physicalinterfaces and there are client machines on both, or perhaps they'revirtual interfaces and you have virtual machines on them. Let'sfurther assume that these are routed networks, so that in theorypeople on A can talk to IP addresses on B and vice versa.


Another reason to use expendable email addresses for everything

I'm a long time advocate of using expendable email addresses anytime you have to give someone an email address (and then making sure you can turn them off or more broadly apply filters tothem). However, some of the time I've trusted the people who wereasking for an email address, didn't have an expendable addressalready prepared for them, and gave them my regular email address.Today I discovered (or realized) another reason to not do this andto use expendable addresses for


Implementing a basic equivalent of OpenBSD's pflog in Linux nftables

OpenBSD's and FreeBSD's PF system has a very convenient 'pflog'feature, where you put in a ' log ' bit in a PF rule and thisdumps a copy of any matching packets into a pflog pseudo-interface, where you canboth see them with 'tcpdump -i pflog0' and have them automaticallylogged to disk by pflogd inpcap format. Typically we use this to log blocked packets, whichgives us both immediate and after the fact visibility of what'sgetting blocked (


The 'nft' command may not show complete information for iptables rules

These days, nftables is the Linuxnetwork firewall system that you want to use, and especially it'sthe system that Ubuntu will use by default even if you use the'iptables' command . The nft command isthe official interface to nftables, and it has a 'nft list ruleset'sub-command that will list your NFT rules. Since iptables rules areimplemented with nftables, you might innocently expect that 'nft listruleset' will show you the proper NFT syntax to achieve your currentiptables rules.


Servers will apparently run for a while even when quite hot

This past Saturday (yesterday as I write this), a universitymachine room had an AC failure of some kind :

It's always fun times to see a machine room temperature of 54C andslowly climbing. It's not our machine room but we have switches there,and I have a suspicion that some of them will be ex-switches by thetime this is over.

This machine room and its AC has what you could call a history; in 2011 it flooded partly due


My policy of semi-transience and why I have to do it

Some time back I read Simon Tatham's Policy of transience ( via ) and recognized bothpoints of similarity and points of drastic departure between Tathamand I. Both Tatham and I use transient shell history, transientterminal and application windows (sort of for me), and don't saveour (X) session state, and in general I am a 'disposable' usagepattern person . However, Idepart from Tatham in that I have a permanently running browser andI normally keep my login sessions running until


Python 套件依賴於版本的路徑問題

The problem of Python's version dependent paths for packages

A somewhat famous thing about Python is that more or less all ofthe official ways to install packages put them into somewhere onthe filesystem that contains the Python series version (which isthings like '3.13' but not '3.13.5'). This is true for site packages,for 'pip install --user' (to the extent that it still works), andfor virtual environments, however you manage them. And this is aproblem because it means that any


Abuse systems should handle email reports that use MIME message/rfc822 parts

Today I had reason to report spam to Mailchimp (some of you arelaughing already, I know). As I usually do, I forwarded the spammessage we'd received to them as a message/rfc822 MIME part, witha prequel plain text part saying that it was spam. Forwarding emailas a MIME message/rfc822 part is unambiguously the correct way todo so. It's in the MIME RFCs, if done properly (by the client) itautomatically includes


Responsibility for university physical infrastructure can be complicated

One of the perfectly sensible reactions to my entry on realizingthat we needed two sorts of temperature alerts is to suggest that wedirectly monitor the air conditioners in our machine rooms, so thatwe don't have to try to assess how healthy they are from secondhand, indirect sources like the temperature of the rooms. There aresome practical problems, but a broader problem is that by and largethey're not 'our' air conditioners. By this I mean that while theair conditioners and the entire building


My approach to testing new versions of Exim for our mail servers

When I wrote about how Exim's ${run ...} string expansionoperator changed how it did quoting , I (sortof) mentioned that I found this when I tested a new version of Exim . Some people would do testing likethis in a thorough, automated manner, but I don't go that far.Instead I have a written down test plan, with some resources setup for it in advance. Well, it's more accurate to say that I havetest plans,