<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Network on Michael’s Domain</title><link>https://jeltsch.org/en/tags/network/</link><description>Recent content in Network on Michael’s Domain</description><generator>Hugo</generator><language>en-us</language><copyright>Copyright © 2002 - 2026 Michael Jeltsch.</copyright><lastBuildDate>Fri, 24 Jul 2026 00:18:18 +0300</lastBuildDate><atom:link href="https://jeltsch.org/en/tags/network/index.xml" rel="self" type="application/rss+xml"/><item><title>Routing network traffic through two different NICs</title><link>https://jeltsch.org/en/route/</link><pubDate>Sat, 03 Jan 2026 00:00:00 +0000</pubDate><guid>https://jeltsch.org/en/route/</guid><description>&lt;p&gt;I am just copying a lot of files from our NAS-Backup do my laptop. Since the WiFi was too slow (1 TB takes a few hours in the real world), I connected the NAS directly to my laptop with an ethernet cable. Both machines needed to setup their IP address manually within the same network (which can be whatever; I used 192.168.8.150 for my laptop and 192.168.8.199 for the NAS, and Netmask for both 255.255.0.0). Since this &amp;ldquo;internal&amp;rdquo; network does not provide internet access, my Ubuntu 24.04 laptop fell automatically back to WiFi. To force the laptop to use the wired network, I needed to deactivate WiFi. But now I cannot get online without WiFi. So I needed to tell the computer to use the wired network only for the NAS which has the IP 192.168.8.199. The command I needed is:&lt;/p&gt;</description></item><item><title>Listing all active internet connections on Linux</title><link>https://jeltsch.org/en/listing_all_active_internet_connections_on_linux/</link><pubDate>Wed, 02 Sep 2020 00:00:00 +0000</pubDate><guid>https://jeltsch.org/en/listing_all_active_internet_connections_on_linux/</guid><description>&lt;div class="codeblock syntax-highlight mb-3"&gt;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-fallback" data-lang="fallback"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;netstat -natp&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;&lt;p&gt;However, it is not always easy to figure out what the actual program is that is responsible for the connection. E.g. my Brave browser shows up as&lt;/p&gt;</description></item><item><title>Copying with rsync</title><link>https://jeltsch.org/en/copy_with_rsync/</link><pubDate>Mon, 17 Feb 2020 00:00:00 +0000</pubDate><guid>https://jeltsch.org/en/copy_with_rsync/</guid><description>&lt;p&gt;Reasons why you should (not always, but often) prefer rsync over cp:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Resume Interrupted Transfers
If you are copying a large file and your terminal session crashes or the power cuts out, cp will simply fail, and you have to start over. rsync can pick up right where it left off, which is a massive time-saver for large datasets.&lt;/li&gt;
&lt;li&gt;Efficiency (Delta-Transfer Algorithm)
rsync is designed to be smart. If you are copying a file that already exists at the destination (e.g., you are updating a backup), rsync only copies the parts of the file that have actually changed (the &amp;ldquo;delta&amp;rdquo;) rather than overwriting the entire file. cp, by contrast, always copies the whole file every single time.&lt;/li&gt;
&lt;li&gt;Real-time Progress Monitoring
rsync provides excellent visual feedback. By using the -P (or &amp;ndash;progress) flag, you get a real-time progress bar showing the percentage complete, transfer speed, and estimated time remaining. cp is famously silent, leaving you guessing whether the process is still running or has hung, requiring you to check at the destination via the size of the arriving file, whether anything is progressing (ls -lh filename, or du -hs filename)&lt;/li&gt;
&lt;li&gt;Seamless Remote Transfers
rsync is natively built to work over SSH. You can use it to copy files directly to or from a remote server as easily as copying files on your local machine. cp cannot do this; to use cp for a remote server, you would first need to mount the remote filesystem locally, which is far more complex and prone to errors.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;Here is a common use case, the transfer of a directory, including all of its content:&lt;/p&gt;</description></item><item><title>PXE-booting from Netgate Pfsense SG-3100</title><link>https://jeltsch.org/en/pxe_booting_from_netgate_pfsense_sg_3100/</link><pubDate>Fri, 15 Nov 2019 00:00:00 +0000</pubDate><guid>https://jeltsch.org/en/pxe_booting_from_netgate_pfsense_sg_3100/</guid><description>&lt;p&gt;To install Linux without the need of a CD/DVD/USB-stick, I now use PXE-booting (&amp;ldquo;pixie&amp;rdquo;-booting) on our local home network. I could not find good instructions and had to try out things before it started working, but the process itself is fairly simple. Here are the steps:&lt;/p&gt;</description></item><item><title>Scanning my home network (nmap)</title><link>https://jeltsch.org/en/scanning_my_home_network_nmap/</link><pubDate>Sun, 18 Mar 2018 00:00:00 +0000</pubDate><guid>https://jeltsch.org/en/scanning_my_home_network_nmap/</guid><description>&lt;p&gt;Scanning my home network for all devices that are listeningon port 80 (http):&lt;code&gt;nmap -p80 192.168.0.0/24 -oG - | grep 80/open&lt;/code&gt;Sometimes this doesn&amp;rsquo;t work (because nmap tries to be smart and only scan hosts that are available). In order to make nmap scanning without intelligence, use the e-Pn (no ping) option. This scans all ports of host 192.168.0.2:&lt;code&gt;nmap -Pn -p0-65535 192.168.0.2&lt;/code&gt;&lt;/p&gt;</description></item><item><title>Disk dumps (dd) and copying over the network (netcat)</title><link>https://jeltsch.org/en/disk_dumps_dd_and_copying_over_the_network_netcat/</link><pubDate>Tue, 16 Feb 2010 00:00:00 +0000</pubDate><guid>https://jeltsch.org/en/disk_dumps_dd_and_copying_over_the_network_netcat/</guid><description>&lt;p&gt;On the receiving machine (disk sda MUST be unmounted, e.g. by booting from a live CD or USB stick):&lt;code&gt;netcat -l -p 4778 | dd of=/dev/sda&lt;/code&gt;On the sending machine (disk sdb MUST be unmounted, e.g. by booting from a live CD or USB stick):&lt;code&gt;dd if=/dev/sdb | netcat 192.168.0.4 4778&lt;/code&gt;(-l listen; -p port)To copy a directory over the network, enter the directory and execute on the sending machine:&lt;code&gt;tar -cz . | nc -q 10 -l -p 45454&lt;/code&gt;On the receiving machine, create the directory, enter it and execute:&lt;code&gt;nc -w 10 192.168.0.11 45454 | tar -xz&lt;/code&gt;BTW: If you want to see the progress of a disk dump (how much was already copied in what time at what average speed), you can use (in newer versions of dd) the status option. I guess this might not work for network copying, but I have not tried… &lt;code&gt;dd if=/dev/sdb of=/target status=progress&lt;/code&gt;&lt;/p&gt;</description></item><item><title>A permanent static route in Ubuntu Karmic Koala (9.10), Precise Pangolin (12.04) &amp; Trusty Tahr (14.04)</title><link>https://jeltsch.org/en/a_permanent_static_route_in_ubuntu/</link><pubDate>Sat, 26 Dec 2009 00:00:00 +0000</pubDate><guid>https://jeltsch.org/en/a_permanent_static_route_in_ubuntu/</guid><description>&lt;p&gt;&lt;strong&gt;Karmic Koala&lt;/strong&gt;To add a permanent static route to a Karmic Koala system with one NIC, you need to edit the/etc/network/interfaces file. The following section needs to be replaced:&lt;code&gt;# The primary network interfaceauto eth0#iface eth0 inet dhcp&lt;/code&gt;Modify as follows:&lt;code&gt;# The primary network interfaceauto eth0iface eth0 inet dhcpup route add -net 10.8.0.0 netmask 255.255.255.0 gw 192.168.0.3down route del -net 10.8.0.0 netmask 255.255.255.0 gw 192.168.0.3&lt;/code&gt;**Precise Pangolin (12.04)**With the Precise Pangolin, I did it by adding a script called add_route to /etc/network/if-up.d:&lt;code&gt;#!/bin/sh#if [ &amp;quot;$IFACE&amp;quot; = &amp;quot;eth0&amp;quot; ]; then route add -net 10.8.0.0/24 gw 192.168.0.18#fi&lt;/code&gt;I never added a corresponding script (del_route) to /etc/if-down.d, but that seems to be OK.**Trusty Tahr (14.04)**With Trusty Tahr, I was adding the route command as a line to the /etc/rc.local script:&lt;code&gt;…route add -net 192.168.1.0/24 gw 192.168.0.3exit 0&lt;/code&gt;The route command needs to be before the &amp;ldquo;exit 0&amp;rdquo; line!**MacOS X 10.8 (Mountain Lion)**And here is how it is done on MacOS X 10.8: 
 &lt;a href="http://nellen.it/blog/2012/01/permanent-static-routes-for-mac-os-x/" target="_blank" rel="noopener noreferrer nofollow"&gt;http://nellen.it/blog/2012/01/permanent-static-routes-for-mac-os-x&amp;nbsp;






 
 
 
 &lt;svg class="svg-inline--fa fas fa-up-right-from-square fa-2xs" fill="currentColor" aria-hidden="true" role="img" viewBox="0 0 512 512" overflow="visible"&gt;&lt;use href="#fas-up-right-from-square"&gt;&lt;/use&gt;&lt;/svg&gt;&lt;/a&gt;
. They details of how to to it in MacOS X have changed over time; here is the way 
 &lt;a href="https://jeltsch.org/en/permanent_route_osx/"&gt;how it was done on MacOS X 10.4.7&lt;/a&gt;
.&lt;/p&gt;</description></item></channel></rss>