三湘古邑

我想在那里最蓝的大海扬帆。

0%

Bind是使用最广泛的DomainName Server

  • DNS主服务器:192.168.5.8
  • DNS辅服务器:192.168.4.9

主服务安装软件

1
apt-get install bind9

修改/etc/bind/named.conf.local
添加正向解析文件
1
2
3
4
5
6
7
zone "hlooc.cn" {
type master;
file "/etc/bind/hlooc.cn.hosts";
masterfile-format text;
allow-update {192.168.4.9;};//从服务器ip
};


新增数据文件cp db.local hlooc.cn.hosts添加如下记录
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
;
; BIND data file for local loopback interface
;
$TTL 604800
@ IN SOA localhost. root.localhost. (
2 ; Serial
604800 ; Refresh
86400 ; Retry
2419200 ; Expire
604800 ) ; Negative Cache TTL
;
@ IN NS localhost.
@ IN A 127.0.0.1
@ IN AAAA ::1
omv IN A 192.168.4.10

修改/etc/bind/named.conf.options
1
2
3
4
forwarders {
222.246.129.80;//公共DNS
114.114.114.114;//公共DNS
};

重启服务
1
rndc reload

从服务安装软件与主服务一致

修改/etc/bind/named.conf.local

1
2
3
4
5
6
zone "hlooc.cn" {
type slave;
masters {192.168.5.8;};
file "/etc/bind/slaves/hlooc.cn.hosts";
masterfile-format text;
};

修改/etc/bind/named.conf.options与主服务器一致

重启服务

1
rndc reload

验证测试dig ovm.hlooc.cn
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
; <<>> DiG 9.11.5-P4-5.1+deb10u3-Debian <<>> omv.hlooc.cn
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 2747
;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 1, ADDITIONAL: 3

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4096
; COOKIE: 1f1078811a0d27da40f576216034a26042f4e7b1290819a4 (good)
;; QUESTION SECTION:
;omv.hlooc.cn. IN A

;; ANSWER SECTION:
omv.hlooc.cn. 604800 IN A 192.168.4.10

;; AUTHORITY SECTION:
hlooc.cn. 604800 IN NS localhost.

;; ADDITIONAL SECTION:
localhost. 604800 IN A 127.0.0.1
localhost. 604800 IN AAAA ::1

;; Query time: 0 msec
;; SERVER: 192.168.4.9#53(192.168.4.9)
;; WHEN: Tue Feb 23 14:36:16 CST 2021
;; MSG SIZE rcvd: 155

andThen先执行自己再执行入参函数,compose反之

1
2
3
4
5
6
7
Function<Integer, Integer> f1 = n -> n * n;

Function<Integer, Integer> f2 = n -> n * n * 3;

System.out.println(f1.andThen(f2).apply(2));//先执行f1->2*2->4*4*3=48

System.out.println(f1.compose(f2).apply(2));//先执行f2->2*2*3->12*12=144

sftp用户权限设置

  对于服务器文件上传, 我们会创建sftp用户登陆服务器,禁止ssh登陆服务器;这样是为了安全性的考虑,避免外部访问服务器的其他路径,对其他路径上的文件进行访问、修改等。

  现在对外提供test用户,sftp访问服务器;创建过程如下:

建立sftp用户 test

1
2
3
4
useradd test, 此时会在创建sftp用户目录/home/test

  chown -R root:test /home/test
  chmod -R 750 /home/test

创建上传目录file,赋予权限

1
2
3
4
cd /home/test
mkdir file
chown -R test:test /home/test/file
chmod -R 755 /home/test/file

说明:
sftp家目录属主必须是root,属组是test,该权限最高设置为755,否则sftp连不上;sftp登陆直接会进入file目录;对于文件上传或下载 不要使用绝对路径/home/test/file.

修改sshd_config文件

1
     vim /etc/ssh/sshd_config

注释调Subsystem sftp /usr/libexec/openssh/sftp-server
结尾添加

1
2
3
4
5
6
  Subsystem       sftp   internal-sftp
  Match User test01
  ChrootDirectory /home/test (sftp用户的根目录)
   X11Forwarding no
   AllowTcpForwarding no
   ForceCommand internal-sftp

重启服务:
1
systemctl restart sshd.service

omv5.*版本
先安装依赖

1
apt-get install dirmngr gnupg

下载扩展包,手动安装
1
2
3
wget http://omv-extras.org/openmediavault-omvextrasorg_latest_all5.deb
dpkg -i openmediavault-omvextrasorg_latest_all5.deb
apt-get update

键盘上所有特殊符号的英文读法

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
! 叹号 exclamation mark/bang  /ˌekskləˈmeɪʃn mɑːk/
? 问号 question mark
, 逗号 comma英 /ˈkɒmə/ 美 /ˈkɑːmə/
. 点号 dot/period/point
: 冒号 colon英 /ˈkəʊlən; ˈkəʊlɒn/
; 分号 semicolon 英 /ˌsemiˈkəʊlən; ˌsemiˈkəʊlɒn/
” 双引号 quotation marks/double quote 英 /kwəʊˈteɪʃn mɑːks/
‘ 单引号/撇号 apostrophe/single quote 英 /əˈpɒstrəfi/
` 重音号 backquote/grave accent美 /ɡreɪv ˈæksent/
* 星号 asterisk/star英 /ˈæstərɪsk/
+ 加号 plus sign
- 减号/横线 hyphen/dash/minus sign/ 英 /ˈhaɪfn/
= 等号 equal sign
/ 斜线 slash
\ 反斜线 backslash/escape英 /ɪˈskeɪp/
| 竖线 bar/pipe/vertical bar
_ 下划线 underline/underscore
$ 美元符号 dollar sign
@ at at sign
# 井号 crosshatch/sharp/hash
% 百分号 percent sign/mod英 /mɒd/
& and/和/兼 and/ampersand英 /ˈæmpəsænd/
^ 折音号 circumflex/caret 英 /ˈsɜːkəmfleks/ 英 /ˈkærət/
~ 波浪号 tilde 英 /ˈtɪldə/
{} (左右)花括号/大括号 (left/right|open/close) braces英 /ˈbreɪsɪz/
[] (左右)方括号/中括号 (left/right|open/close) brackets 美 /ˈbrækɪts/
() (左右)圆括号/小括号 (left/right|open/close) parentheses英 /pəˈrenθəsiːz/
<> 尖括号 angle brackets
< 大于号 less than
> 小于号 greater than

键盘按键符号英文和中文

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
! 叹号 exclamation mark/bang
? 问号 question mark
, 逗号 comma
. 点号 dot/period/point
: 冒号 colon
; 分号 semicolon
” 双引号 quotation marks/double quote
‘ 单引号/撇号 apostrophe/single quote
` 重音号 backquote/grave accent
* 星号 asterisk/star
+ 加号 plus sign
- 减号/横线 hyphen/dash/minus sign/
= 等号 equal sign
/ 斜线 slash
\ 反斜线 backslash/escape
| 竖线 bar/pipe/vertical bar

_ 下划线 underline/underscore
$ 美元符号 dollar sign
@ at at sign
# 井号 crosshatch/sharp/hash
% 百分号 percent sign/mod
& and/和/兼 and/ampersand
^ 折音号 circumflex/caret
~ 波浪号 tilde
{} (左右)花括号/大括号 (left/right|open/close) braces
[] (左右)方括号/中括号 (left/right|open/close) brackets
() (左右)圆括号/小括号 (left/right|open/close) parentheses
<> 尖括号 angle brackets
< 大于号 less than
> 小于号 greater than


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
~

tilde (sounds like til-da); be prepared to explain to computer-illiterate people saying "you know, the wave-shaped thingy"

!

exclamation mark

@

at

#

pound or hash

$

dollar

%

percent

^

caret; not many people know this word so be prepared to say "no, not carrot; it's the character above 6, an arrow pointing up"

&

ampersand

*

star

(

opening parenthesis or opening round bracket

)

closing parenthesis or closing round bracket

_

underscore or underline

+

plus

-

minus or hyphen or dash

=

equals

`

backtick or backquote

{

opening brace

}

closing brace

[

opening square bracket

]

closing square bracket

|

pipe or vertical bar

\

backslash

:

colon

;

semicolon

"

double quote

'

single quote

<

less than or left angle bracket

>

greater than or right angle bracket

,

comma

.

dot

?

question mark

/

slash or forward slash

空格

小键盘

space

keypad

(), [] and {}

may also be called brackets in general. In that case, they specifically call [] square brackets and {} curly brackets. Open and Closing may also be called left and right.


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
符号	英文名	中文名
~ tilde or swung dash 波浪字符或代字号
! exclamation mark 惊叹号
@ at sign or commercial at 爱特或小老鼠
# number sign 井号
$ dollar sign 美元符
% percent sign 百分号
^ caret 脱字符
& ampersand 与和符
* asterisk 星号
() parentheses, round brackets, soft brackets,
or circle brackets 小括号,圆括号
[] brackets (US), square brackets,
closed brackets or hard brackets 中括号,方括号
{} braces (UK and US), French brackets,
curly brackets 大括号,花括号
<> angle brackets or chevrons 尖括号
_ underscore 下划线
+ plus sign 加号
− minus sign 减号
= equals sign 等号
< less-than sign 小于号
> greater-than sign 大于号
. period, full stop or dot 句号,点
, comma 逗号
: colon 冒号
; semicolon 分号
? question mark 问号
- hyphen 连字符
... ellipsis 省略号
– dash 破折号
/ slash, forward slash 斜线
\ backslash 反斜线
| vertical bar 竖线
“ quotation mark 双引号
‘ apostrophe 单引号,省略符号

server-peer

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
# 定义网络接口
[Interface]
# 定义wireguard的内网IP
Address = 10.10.10.1/24
# 内网转发规则,将数据包做MASQUERADE源地址转换,并通过eth0转发出去
# eth0根据实际情况修改,ifconfig可查看
PostUp = iptables -A FORWARD -i %i -j ACCEPT
PostUp = iptables -A FORWARD -o %i -j ACCEPT
PostUp = iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
# 在wireguard关闭时清除这些iptables转发规则
PostDown = iptables -D FORWARD -i %i -j ACCEPT
PostDown = iptables -D FORWARD -o %i -j ACCEPT
PostDown = iptables -t nat -D POSTROUTING -o eth0 -j MASQUERADE
# 定义固定监听端口,让主动连接的一方配置
ListenPort = 10240
PrivateKey = 4OkitX1lqS4fuB44c0cE55K1rNka7CMh8BG3vs40LU0=

# 定义peer
[Peer]
PublicKey = qcCY+K//y5i4voD0hYtR4do9hyG722Ht4F1OBUQADzY=
# 非常重要,AllowedIPs本质上是路由规则,表示目标地址为10.10.10.2的数据包都往该peer发送
# AllowedIPs支持列表,如AllowedIPs = 10.10.10.2/32,192.168.2.0/24
AllowedIPs = 10.10.10.2/32

client-peer

1
2
3
4
5
6
7
8
9
[Interface]
Address = 10.10.10.2/24
PrivateKey = ELxkrRlutZYgWgIGnqf61nvUWPZuu0U=

[Peer]
PublicKey = TSvjFnAIUoGi0t8OEk3hOuD/XI=
# 定义需要链接的服务端的IP和端口
Endpoint = 192.168.0.1:10240
AllowedIPs = 10.10.10.1/32,172.19.47.0/24

密钥生成

1
wg genkey | tee wg-prikey | wg pubkey > wg-pubkey

开启IP地址转发

1
sysctl net.ipv4.ip_forward

如果显示net.ipv4.ip_forward = 1则说明已开启IP地址转发,显示net.ipv4.ip_forward = 0则说明没有开启IP地址转发。
修改/etc/sysctl.conf

1
2
3
echo "net.ipv4.ip_forward = 1" >> /etc/sysctl.conf
echo "net.ipv4.conf.all.proxy_arp = 1" >> /etc/sysctl.conf
sysctl -p /etc/sysctl.conf

设置IP地址伪装

1
2
3
4
5
6
# 允许防火墙伪装IP
firewall-cmd --add-masquerade
# 检查是否允许伪装IP
firewall-cmd --query-masquerade
# 禁止防火墙伪装IP
firewall-cmd --remove-masquerade

rdesktop 是 linux 下支持 Windows远程桌面连接的客户端程序,在 linux 系统下可通过它远程访问Windows 桌面,支持多种版本。rdesktop 是 sourceforge 下支持 GPL 协议的一个开源项目,采用 RDP(Remote Desktop Protocol,远程桌面协议),几乎可以连接 windows 的所有版本,诸如 NT 4 Terminal Server, 2000, XP, 2003, 2003 R2, Vista, 2008, 7, and 2008 R2 等。目前,rdesktop 可运行于所有的基于 X window 平台的 Unix 系统中。

参数:

-d: 域
-s: shell命令 (登录运行命令之后就退出)
-c: 工作目录(应该是-s的子命令),-s shell命令的一个参数
-p: password (- to prompt)
-n: 客户端(本地)主机名,默认为本地主机名
-k: 服务器上的键盘布局选择 (en-us, de, sv, etc.)
-g: 桌面分辨率(宽x高)
-i: enables smartcard authentication, password is used as pin
-f: 全屏模式(Ctrl + Alt + Enter 退出全屏模式)
-b: 强制位图刷新(没发现什么用)
-L: 本地编码
-A: 无缝虚拟应用程序到本地
-B: use BackingStore of X-server (if available)
-e: disable encryption (French TS) 禁用加密
-E: disable encryption from client to server 从客户端到服务器,禁用加密。
-m: 不允许拖动(不传递鼠标的拖动事件)
-C: use private colour map
-D: 不显示窗口标题栏(只有远程桌面窗口,没有关闭和最小化按钮)
-K: 窗口切换快捷热键(Alt+Tab)不传递到远程桌面
-S: 标题按钮的大小,个人觉得这个参数很无用,或者我还没弄明白到底什么意思。
-T: 窗口标题
-t: disable use of remote ctrl
-N: 数字键盘同步
-X: 给定另一个窗口的标识,嵌入到另一个窗口
-a: connection colour depth 选择颜色深度
-z: 启用rdp压缩
-x: RDP5 experience (m[odem 28.8], b[roadband], l[an] or hex nr.)
-P: 持久位图缓存
-r: 设备重定向(参数可以重复使用)

VirtualBox中,SDDM 界面显示得非常小,我们可以通过xrandr 命令解决。

列出显示器:

1
xrandr --listmonitors

接着添加以下命令到 /usr/share/sddm/scripts/Xsetup 即可:
1
xrandr --output Virtual-1 --mode 1920x1080