Host 昵称
HostName 远端的域名 或者 IP
IdentityFile ssh私钥路径
Port 端口
保存之后,运行"ssh 昵称"就可以连接到目标服务器了,节省输入量。
Host 昵称
HostName 远端的域名 或者 IP
IdentityFile ssh私钥路径
Port 端口
保存之后,运行"ssh 昵称"就可以连接到目标服务器了,节省输入量。
有一说一,把Ubuntu架在HyperV上作为服务器,给Windows服务,那是真的爽。Jupyter可以直接设置监听内部ip,然后允许远程访问,再添个systemd服务,开机启动Jupyter,就可以在Windows上用Notebook了,不用每次都手动开或者看着一个黑框在那里不爽。同理,各种适合作为服务存在的app也可以挂在虚拟机上,虚拟机只允许本地地址入站,安全得不行。
如果规则文件有除了ip之外的规则,比如开放端口的规则,那iptables在载入规则的时候会发送DNS请求。如果在service文件里的Unit部分写的是Before=network.target
,因为此时还没有网络,所以无法进行DNS请求。这样的话iptables-restore
就会808错误码退出,结果就是规则恢复失败,无防火墙。
为了实现重启后自动恢复规则,但是又不留下可乘之机,就要创建一个最简单的防火墙规则:禁止incoming,允许outgoing(这里不更改forward,有需要的自己改)。
# Generated by iptables-save v1.8.7 on Sat Apr 3 15:30:35 2021
*filter
:INPUT DROP [1426:454948]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [177:12694]
COMMIT
# Completed on Sat Apr 3 15:30:35 2021
保存成rules.v4.startup
。然后复制一份iptables.service
为iptables-startup.service
。把iptables.service
的Before=network.target
改成After=network.target
,把iptables-startup.service
的rules.v4
改成rules.v4.startup
。然后enable一下iptables-startup.service
就完成了。
ip6tables同理。
对于Ubuntu来说就是linux-headers-generic。如果内核不是linux-generic,根据uname -ar
的内容确定自己要安装哪个header。
安装一些必备工具,包括但不限于autoconf、libmnl-devel、libtool。如果报错PKG_CHECK_MODULES syntax error
,还要装pkgconf。
别以为官方库里面有libntfnl-dev就能用,一样炸,就是报PKG_CHECK_MODULES syntax error
。
1 | cd /usr/src |
得到xt_FULLCONENAT.ko
。
1 | template<template<typename...> typename T> |
文档可以看Template_template_parameter(但是根本看不懂