<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>系统运维 on 嘴强黑客 /pbuff07</title><link>https://pbuff07.github.io/categories/%E7%B3%BB%E7%BB%9F%E8%BF%90%E7%BB%B4/</link><description>Recent content in 系统运维 on 嘴强黑客 /pbuff07</description><generator>Hugo</generator><language>zh-cn</language><lastBuildDate>Fri, 08 May 2026 10:48:00 +0800</lastBuildDate><atom:link href="https://pbuff07.github.io/categories/%E7%B3%BB%E7%BB%9F%E8%BF%90%E7%BB%B4/index.xml" rel="self" type="application/rss+xml"/><item><title>VSCode远程：下载服务器失败</title><link>https://pbuff07.github.io/posts/2026-05-08-vscode%E8%BF%9C%E7%A8%8B-%E4%B8%8B%E8%BD%BD%E6%9C%8D%E5%8A%A1%E5%99%A8%E5%A4%B1%E8%B4%A5/</link><pubDate>Fri, 08 May 2026 10:48:00 +0800</pubDate><guid>https://pbuff07.github.io/posts/2026-05-08-vscode%E8%BF%9C%E7%A8%8B-%E4%B8%8B%E8%BD%BD%E6%9C%8D%E5%8A%A1%E5%99%A8%E5%A4%B1%E8%B4%A5/</guid><description>&lt;p&gt;最近使用 VSCode Remote SSH 连接远程主机时，卡在 &lt;code&gt;Downloading VS Code Server&lt;/code&gt; 阶段，表现为一直下载或反复要求重新连接。&lt;/p&gt;
&lt;p&gt;参考链接：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://github.com/microsoft/vscode-remote-release/issues/11040"&gt;Remote-SSH stuck on &amp;ldquo;Downloading VS Code Server&amp;rdquo; #11040&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;这类问题可通过调整两处 Remote SSH 设置来修复：&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;&lt;code&gt;Remote.SSH: Use Exec Server&lt;/code&gt; &lt;strong&gt;不勾选&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;Remote.SSH: Permit Pty Allocation&lt;/code&gt; &lt;strong&gt;勾选&lt;/strong&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;设置界面示意图如下：&lt;/p&gt;
&lt;p&gt;&lt;img src="https://pbuff-blogs-1257793641.cos.ap-chengdu.myqcloud.com//blogs20260508104725.png" alt="Remote.SSH Use Exec Server 不勾选"&gt;&lt;/p&gt;
&lt;p&gt;&lt;img src="https://pbuff-blogs-1257793641.cos.ap-chengdu.myqcloud.com//blogs20260508104800.png" alt="Remote.SSH Permit Pty Allocation 勾选"&gt;&lt;/p&gt;
&lt;p&gt;修改后重新连接远程主机，通常即可恢复正常。&lt;/p&gt;</description></item><item><title>nftables</title><link>https://pbuff07.github.io/posts/2025-07-19-nftables/</link><pubDate>Sat, 19 Jul 2025 14:00:00 +0800</pubDate><guid>https://pbuff07.github.io/posts/2025-07-19-nftables/</guid><description>&lt;p&gt;&lt;strong&gt;nftables&lt;/strong&gt; 是 iptables 的继任者，提供了一种更强大、更灵活、更高效的方式来管理 Linux 系统上的数据包过滤和 NAT（抄的，反正就是比iptables更先进）。&lt;/p&gt;
&lt;p&gt;基本结构图如下：&lt;/p&gt;
&lt;p&gt;Table - 表：用来组织链和规则的，主要有inet、ip4、ip6、arp、bridge（其实就是表示处理的流量类型）。&lt;/p&gt;
&lt;p&gt;Chain - 链：表示Table中的具体的规则走什么处理链路？比如是拦截还是放行，主要有input、output、forward、prerouting、postrouting（除了前三个，其他都不太懂）。&lt;/p&gt;
&lt;p&gt;Rule - 规则：表示具体的策略内容了，要对数据包执行的过滤条件和动作。&lt;/p&gt;
&lt;p&gt;&lt;img src="https://pbuff-blogs-1257793641.cos.ap-chengdu.myqcloud.com//blogsimage-20250724180743972.png" alt="image-20250724180743972"&gt;&lt;/p&gt;
&lt;p&gt;基本用法：&lt;/p&gt;
&lt;p&gt;1、创建表&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-text" data-lang="text"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;nft add table inet my_filter_ip
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;2、创建一个input（入站）的链&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-text" data-lang="text"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;nft add chain inet my_filter_ip input {type filter hook input priority 0 \; policy drop \;}
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;blockquote&gt;
&lt;p&gt;type filter 指这是一个用于过滤的链，其他类型还有route、nat&lt;/p&gt;
&lt;p&gt;hook input 指这条链挂到输入阶段，即处理本机的数据包&lt;/p&gt;
&lt;p&gt;priority 0 指该链的优先级，数值越小优先级越高&lt;/p&gt;
&lt;p&gt;policy drop 指该链默认的处理策略为丢弃&lt;/p&gt;
&lt;p&gt;; 指nftables 命令语法中的转义分号，用于表示大括号内的语句结束&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;综上：该命令创建了一个默认丢弃所有入站的数据包的链，效果如下：&lt;/p&gt;
&lt;p&gt;3、创建规则&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-text" data-lang="text"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;# 放行22端口
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;nft add rule inet my_filter_ip input tcp dport 22 accept
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;# 放行多个端口
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;nft add rule inet my_filter_table input tcp dport { 22, 80, 443 } accept
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;# 丢弃某个IP的数据包
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;nft add rule inet my_filter_ip input ip saddr 192.168.31.100 drop
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;# 允许某个IP访问
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;nft add rule inet my_filter_ip input ip saddr 192.168.1.1 accept
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;# 放行到特定目标的流量
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;nft add rule inet my_filter_ip input ip daddr 10.9.1.13 accept
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;# 放行特定IP访问特定端口
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;nft add rule inet my_filter_ip input ip saddr 192.168.1.100 tcp dport 22 accept
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;# 日志记录
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;nft add rule inet my_filter_ip input tcp dport 22 log prefix &amp;#34;SSH_ACCESS: &amp;#34; accept
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;# 限制速率
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;nft add rule inet my_filter_ip input tcp dport 22 limit rate 10/minute accept
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;除了accept和drop，还有reject操作。&lt;/p&gt;</description></item></channel></rss>