<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
	<channel>
		<title>VPN on Margrop Blog</title>
		<link>https://blog.margrop.net/en/tag/vpn/</link>
		<description>Recent content in VPN on Margrop Blog</description>
		<generator>Hugo</generator>
		<language>en-US</language>
		
		
		
		
			<lastBuildDate>Mon, 01 Jun 2026 18:00:00 +0800</lastBuildDate>
		
			<atom:link href="https://blog.margrop.net/en/tag/vpn/index.xml" rel="self" type="application/rss+xml" />
			<item>
				<title>VPN Connected, But Internal Hostnames Won&#39;t Resolve? A Complete macOS Routing Table Walkthrough</title>
				<link>https://blog.margrop.net/en/post/macos-routing-table-vpn-troubleshooting/</link>
				<pubDate>Mon, 01 Jun 2026 18:00:00 +0800</pubDate>
				<guid>https://blog.margrop.net/en/post/macos-routing-table-vpn-troubleshooting/</guid>
				<description>&lt;blockquote&gt;&#xA;&lt;p&gt;&lt;strong&gt;TL;DR:&lt;/strong&gt;&lt;/p&gt;&#xA;&lt;p&gt;When two VPNs run side-by-side on macOS (e.g. &lt;code&gt;utun0&lt;/code&gt; and &lt;code&gt;utun15&lt;/code&gt;), an aggregate &lt;code&gt;10.0.0.0/8&lt;/code&gt; route pushed by one of them can silently &amp;ldquo;swallow&amp;rdquo; every address in the 10.x.x.x range — including the one you actually wanted to reach on the other VPN. DNS resolves fine; TCP/ICMP just hangs. &lt;strong&gt;&lt;code&gt;route -n get&lt;/code&gt; is the first knife you should reach for.&lt;/strong&gt;&lt;/p&gt;&#xA;&lt;/blockquote&gt;</description>
			</item>
			<item>
				<title>You Can SSH Out, but Not Back In: A Fail2Ban False Positive That Broke Reverse Access</title>
				<link>https://blog.margrop.net/en/post/reverse-ssh-fail2ban-vpn-gateway-investigation/</link>
				<pubDate>Sat, 30 May 2026 15:45:00 +0800</pubDate>
				<guid>https://blog.margrop.net/en/post/reverse-ssh-fail2ban-vpn-gateway-investigation/</guid>
				<description>&lt;blockquote&gt;&#xA;&lt;p&gt;&lt;strong&gt;Bottom line&lt;/strong&gt;&lt;/p&gt;&#xA;&lt;p&gt;The symptom looked simple: I could SSH from the local machine into a remote internal host, but the reverse SSH path failed when the remote host tried to connect back. &lt;code&gt;sshd&lt;/code&gt; was listening, the route table looked fine, and the failure still happened.&lt;/p&gt;&#xA;&lt;p&gt;The real root cause was not a broken SSH daemon. &lt;code&gt;Fail2Ban&lt;/code&gt; had banned the &lt;strong&gt;VPN gateway address&lt;/strong&gt; that represented the return path. From the local machine&amp;rsquo;s point of view, the incoming SSH session did not appear to come directly from the remote host. It appeared to come from the gateway, so the ban cut off the whole reverse path.&lt;/p&gt;&#xA;&lt;/blockquote&gt;</description>
			</item>
	</channel>
</rss>
