更新
This commit is contained in:
parent
6066cb4ec6
commit
59b7e87317
@ -4,46 +4,6 @@
|
|||||||
|
|
||||||
个人使用ZeroTier体验不错,
|
个人使用ZeroTier体验不错,
|
||||||
|
|
||||||
ZeroTier 实现局域网互访的方式有 双向nat 转发、大子网嵌套小子网,设置静态路由等。
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
双向转发
|
|
||||||
|
|
||||||
流量会经过 openWrt的防火墙,源地址重写,在服务器端只能看到openWrt的地址
|
|
||||||
|
|
||||||
获取不到 另一个子网的具体主机地址。
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
子网嵌套
|
|
||||||
|
|
||||||
设置繁琐 扩展不方便,
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
静态路由
|
|
||||||
|
|
||||||
需要手动在 openWrt 上设置 静态路由,局域网多时设置繁琐。
|
|
||||||
|
|
||||||
如:A B C 三个局域网 需要互访
|
|
||||||
|
|
||||||
需要添加 (N-1) * N 条记录 (N为局域网数量)
|
|
||||||
|
|
||||||
A 访问B 的路由
|
|
||||||
|
|
||||||
A 访问C 的路由
|
|
||||||
|
|
||||||
B 访问A 的路由
|
|
||||||
|
|
||||||
B 访问C 的路由
|
|
||||||
|
|
||||||
C 访问B 的路由
|
|
||||||
|
|
||||||
C 访问A 的路由
|
|
||||||
|
|
||||||
共六条记录。
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
### 名词解释
|
### 名词解释
|
||||||
@ -70,118 +30,185 @@ frr 是一个 实现了 rip bgp 等多种 路由协议的软件包,同类型
|
|||||||
|
|
||||||
```mermaid
|
```mermaid
|
||||||
graph TD;
|
graph TD;
|
||||||
pro+-->openWrt;
|
|
||||||
pro+--> localhost;
|
LAN-124((LAN-124.0/24))
|
||||||
pro+--> nas;
|
ZT-17((zt-17.0/24))
|
||||||
ZeroTier-->ZeroTier节点;
|
LAN-123((LAN-123.0/24))
|
||||||
ZeroTier-->openWrt;
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
nx30pro(nx30pro)
|
||||||
|
mi_4A(mi_4A)
|
||||||
|
|
||||||
|
ZT-192((zt-192.0/24))
|
||||||
|
ZT-191((zt-191.0/24))
|
||||||
|
|
||||||
|
pro+(pro+)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
LAN-124-->|192.168.124.1|nx30pro
|
||||||
|
nx30pro-->|192.168.124.100/24|LAN-124-pc1;
|
||||||
|
nx30pro-->|192.168.124.120/24|LAN-124-pc2;
|
||||||
|
|
||||||
|
|
||||||
|
LAN-123 -->|192.168.123.1|pro+
|
||||||
|
|
||||||
|
ZT-17 -.->|10.147.17.214/24| mi_4A;
|
||||||
|
ZT-17 -.->|10.147.17.219/24| nx30pro;
|
||||||
|
|
||||||
|
ZT-192-.->|192.168.192.2|mi_4A;
|
||||||
|
ZT-191-.->|192.168.191.2|mi_4A;
|
||||||
|
|
||||||
|
ZT-192-.->|192.168.192.2|zt-192-pc1;
|
||||||
|
ZT-191-.->|192.168.191.2|zt-191-pc1;
|
||||||
|
|
||||||
|
|
||||||
|
pro+-->|192.168.123.100|LAN-123-PC;
|
||||||
|
pro+-->|192.168.123.71|nas;
|
||||||
|
pro+-->|192.168.123.10|mi_4A;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
```
|
```
|
||||||
|
|
||||||
LAN 是本地局域网 路由器为中兴的 **PRO+** 网段为 `192.168.123.0/24`
|
LAN123 是本地局域网(租房) 路由器为中兴的 **PRO+** 网段为 `192.168.123.0/24`
|
||||||
|
|
||||||
ZeroTier 虚拟局域网 网段为 `192.168.191.0/24`
|
LAN124 是本地局域网 (家) 路由器为h3c的 **nx30pro** 网段为 `192.168.124.0/24`
|
||||||
|
|
||||||
openWrt 是刷了 openWrt 固件的 小米4A路由器,在次拓扑中 充当两个 网段的lan节点
|
zt17 虚拟局域网 (用于动态路由通信) 网段为 `10.147.17.0/24`
|
||||||
|
|
||||||
openWrt 在 pro+ 下的地址为 192.168.123.10/24 网关为192.168.123.1
|
zt192 虚拟局域网 (用于节点接入) 网段为 `192.168.192.0/24`
|
||||||
|
|
||||||
|
zt191 虚拟局域网 (用于节点接入) 网段为 `192.168.191.0/24`
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
mi_4a 是刷了openWrt 固件的 小米4A路由器,
|
||||||
|
|
||||||
|
在次拓扑中 充当网段的中转节点
|
||||||
|
|
||||||
|
ip 如下
|
||||||
|
|
||||||
|
```
|
||||||
|
192.168.123.10/24 本地局域网
|
||||||
|
192.168.192.2/24 zt节点接入
|
||||||
|
192.168.191.2/24 zt节点接入
|
||||||
|
10.147.17.214/24 动态路由互联
|
||||||
|
```
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
nx30pro 是刷了 openWrt 固件的新华三30pro路由器,在次拓扑中充当两个网段的中转节点
|
||||||
|
|
||||||
|
由于直接采用的nx30pro 拨号 ,本节点比上一个节点少一个路由。
|
||||||
|
|
||||||
|
ip如下
|
||||||
|
|
||||||
|
```
|
||||||
|
192.168.124.1/24 本地局域网
|
||||||
|
10.147.17.219/24 动态路由互联
|
||||||
|
```
|
||||||
|
|
||||||
|
nas 是租房的nas 服务器 ip为 `192.168.123.71/24`
|
||||||
|
|
||||||
openWrt 在 ZeroTier 下的地址为 192.168.191.2/24 网关 默认
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
### 准备工作
|
|
||||||
|
|
||||||
#### 创建ZeroTier
|
#### 创建ZeroTier
|
||||||
|
|
||||||
首先 在 ZeroTier 里创建局域网 得到 网络ID
|
创建三个 zt-lan
|
||||||
|
|
||||||
在本机电脑上安装 ZeroTier one 并加入局域网。
|
网段分别为
|
||||||
|
|
||||||
默认是 私有局域网 需要去 ZeroTier 通过才能加入
|
192.168.192.0/24 zt节点接入
|
||||||
|
192.168.191.0/24 zt节点接入
|
||||||

|
10.147.17.0/24 动态路由互联
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
#### 配置 openWrt
|
在192.168.192.0/24 添加路由
|
||||||
|
|
||||||
openWrt lan 口接入电脑,登陆后删除 wan wan6接口 ,
|
```
|
||||||
|
192.168.191.0/24 via 192.168.192.2
|
||||||
|
192.168.123.0/24 via 192.168.192.2
|
||||||
|
192.168.124.0/24 via 192.168.192.2
|
||||||
|
```
|
||||||
|
|
||||||
编辑LAN接口 将IP设置为静态IP 与本地LAN 同一网段 这里设置成 `192.168.123.10/24`
|
在192.168.191.0/24 添加路由
|
||||||
|
|
||||||

|
```
|
||||||
|
192.168.192.0/24 via 192.168.191.2
|
||||||
|
192.168.123.0/24 via 192.168.191.2
|
||||||
|
192.168.124.0/24 via 192.168.191.2
|
||||||
|
```
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
将 openWrt LAN 口 接入 5400pro+ 的lan口 测试openWrt是否能上网
|
如图
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
##### 安装 ZeroTier
|
|
||||||
|
|
||||||
在openWrt 软件包里安装 ZeroTier 并填入之前创建的 ZeroTier 局域网ID 加入局域网
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
自动NAT 不需要勾选
|
|
||||||
|
|
||||||
自动NAT 不需要勾选
|
|
||||||
|
|
||||||
自动NAT 不需要勾选
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||

|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
添加 ZeroTier 的接口(不确定是否必须)
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
在接口界面 新增接口 协议选择静态IP
|
|
||||||
|
|
||||||
设备选择 zt 的设备 (多个 zt 网络需要确定 设备对应的子网)
|
|
||||||
|
|
||||||

|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
然后填写 IP 为之前在ZeroTier 分配的IP 本文中是 `192.168.192.2/24`
|
|
||||||
|
|
||||||
网关空着 保存即可
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
### 路由配置
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
#### 本地路由配置
|
|
||||||
|
|
||||||
登录本地 路由器 设置静态路由 将ZeroTier的网段指向 openWrt 在5400 pro+ 中的地址
|
|
||||||
|
|
||||||

|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
#### ZeroTier 路由配置
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
登录ZeroTier 设置静态路由 将5400 PRO+ 的网段指向 openWrt 在ZeroTier 中的地址
|
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
#### openWrt 路由配置
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
#### 配置 openWrt
|
||||||
|
|
||||||
|
##### 安装 ZeroTier
|
||||||
|
|
||||||
|
在 mi_4a,nx30pro 中分别安装 ZeroTier
|
||||||
|
|
||||||
|
###### mi_4a
|
||||||
|
|
||||||
|
在mi_4a 中将三个zt-lan 添加至路由其中,
|
||||||
|
|
||||||
|
并为三个zt-lan 创建接口,按照规划设置静态ip,防火墙区域选择lan
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
###### nx30pro
|
||||||
|
|
||||||
|
在nx30pro中将zt-17的id 添加至路由其中,
|
||||||
|
|
||||||
|
并创建 接口按规划的设置IP,防火墙区域选择lan
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
##### 安装 frr
|
||||||
|
|
||||||
**ssh 登录 openWrt 安装 以下软件包**
|
**ssh 登录 openWrt 安装 以下软件包**
|
||||||
|
|
||||||
|
```
|
||||||
|
opkg update
|
||||||
|
opkg install frr frr-ripd frr-zebra frr-vtysh frr-watchfrr
|
||||||
|
```
|
||||||
|
|
||||||
|
说明:
|
||||||
|
|
||||||
|
frr frr-zebra frr-vtysh frr-watchfrr 必须装 其他的选配
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
完整版如下
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
opkg update
|
opkg update
|
||||||
opkg install frr frr-babeld frr-bfdd frr-bgpd frr-eigrpd frr-fabricd frr-isisd frr-ldpd frr-libfrr frr-nhrpd frr-ospf6d frr-ospfd frr-pbrd frr-pimd frr-ripd frr-ripngd frr-staticd frr-vrrpd frr-vtysh frr-watchfrr frr-zebra
|
opkg install frr frr-babeld frr-bfdd frr-bgpd frr-eigrpd frr-fabricd frr-isisd frr-ldpd frr-libfrr frr-nhrpd frr-ospf6d frr-ospfd frr-pbrd frr-pimd frr-ripd frr-ripngd frr-staticd frr-vrrpd frr-vtysh frr-watchfrr frr-zebra
|
||||||
@ -203,17 +230,25 @@ vi /etc/frr/daemons
|
|||||||
vi /etc/frr/frr.conf
|
vi /etc/frr/frr.conf
|
||||||
```
|
```
|
||||||
|
|
||||||
添加网段 在图中红框位置 添加
|
添加网段 在图中红框位置 添加 (mi_4a)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
```
|
```
|
||||||
router rip
|
router rip
|
||||||
|
route 10.147.17.0/24
|
||||||
network 192.168.123.0/24
|
network 192.168.123.0/24
|
||||||
|
network 192.168.192.0/24
|
||||||
network 192.168.191.0/24
|
network 192.168.191.0/24
|
||||||
```
|
```
|
||||||
|
|
||||||

|
|
||||||
|
|
||||||
|
添加网段 在图中红框位置 添加 (华三)
|
||||||
|
|
||||||
|
```
|
||||||
|
router rip
|
||||||
|
route 10.147.17.0/24
|
||||||
|
network 192.168.124.0/24
|
||||||
|
```
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@ -223,12 +258,72 @@ router rip
|
|||||||
/etc/init.d/frr restart
|
/etc/init.d/frr restart
|
||||||
```
|
```
|
||||||
|
|
||||||
|
查看状态
|
||||||
|
|
||||||
|
等一两分钟后
|
||||||
|
|
||||||
|
执行以下命令可以看到 已经在交换路由了,也可以去openwrt 路由界面上观察 是否有rip 字样的路由
|
||||||
|
|
||||||
|
```
|
||||||
|
vtysh
|
||||||
|
show ip rip status
|
||||||
|
```
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
### 安全管理
|
|
||||||
|
|
||||||
这样配置后 局域网互通 不受防火墙管理,如需要为别人提供服务,只想 别人访问特定的网段
|
|
||||||
|
|
||||||
可以
|
|
||||||
|
#### pro+路由配置
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
登录本地 路由器 设置静态路由 将ZeroTier的网段指向 openWrt 在5400 pro+ 中的地址
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
### 问题
|
||||||
|
|
||||||
|
- 在租房一侧 存在出入口不一致的情况, 因为在pro+ 上设置的路由 并没有下发到设备侧,
|
||||||
|
|
||||||
|
如图所示 去程经过mi_4a一个路由, 两跳 到达目的地。回程 经过pro+,mi_4a,两个路由 三跳 到达目的地
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
```mermaid
|
||||||
|
sequenceDiagram
|
||||||
|
|
||||||
|
zt_192_pc->>mi_4a: 192.168.192.3->192.168.192.10
|
||||||
|
|
||||||
|
mi_4a->>rdp远程桌面: 192.168.123.10->192.168.123.160
|
||||||
|
|
||||||
|
|
||||||
|
rdp远程桌面->> pro: 192.168.123.160->192.168.123.1
|
||||||
|
pro->> mi_4a: 192.168.123.1->192.168.123.10
|
||||||
|
mi_4a->> zt_192_pc: 192.168.192.2->192.168.192.3
|
||||||
|
```
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
解决办法:在 rdp远程桌面 远程桌面上 添加静态路由
|
||||||
|
|
||||||
|
```cmd
|
||||||
|
route ADD 192.168.192.0 MASK 255.255.255.0 192.168.123.10 METRIC 10 IF 2
|
||||||
|
```
|
||||||
|
|
||||||
|
命令解释
|
||||||
|
|
||||||
|
添加一条路由 匹配 192.168.192.0/24 的ip 下一跳 去往 192.168.123.10(mi_4a) 权重10 走序号为 2的网卡
|
||||||
|
|
||||||
|
网卡需要可以使用 route 命令查看,出来的网卡列表 前两个数字就是需要。
|
||||||
|
|
||||||
|
```cmd
|
||||||
|
route print -4
|
||||||
|
```
|
||||||
|
|
||||||
|
|
@ -689,3 +689,14 @@ COPY tcn_stat_sales_volume_total FROM '/home/edbdata/tcn_stat_sales_volume_total
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
#### 手动创建分区
|
||||||
|
|
||||||
|
```sql
|
||||||
|
select 'CREATE TABLE tcn_stat_algorithm_data_fltn_'||"FLT_NBR"|| ' PARTITION OF "TCN_STAT_ALGORITHM_DATA_FLTN" FOR VALUES IN (''' || "FLT_NBR"||''');'
|
||||||
|
from (
|
||||||
|
select distinct"FLT_NBR"::varchar from "TCN_STAT_ALGORITHM_DATA" where "FLT_DT" between '20190101' and '20191231'
|
||||||
|
EXCEPT
|
||||||
|
select high_value from all_tab_partitions where table_name = '"TCN_STAT_ALGORITHM_DATA_FLTN"'
|
||||||
|
)
|
||||||
|
```
|
||||||
|
|
||||||
|
@ -1,45 +1,121 @@
|
|||||||
连接数据库, 默认的用户和数据库是postgres
|
连接数据库, 默认的用户和数据库是postgres
|
||||||
|
|
||||||
|
```
|
||||||
psql -U user -d dbname
|
psql -U user -d dbname
|
||||||
|
```
|
||||||
|
|
||||||
切换数据库,相当于mysql的use dbname
|
切换数据库,相当于mysql的use dbname
|
||||||
\c dbname
|
|
||||||
列举数据库,相当于mysql的show databases
|
|
||||||
\l
|
|
||||||
列举表,相当于mysql的show tables
|
|
||||||
\dt
|
|
||||||
查看表结构,相当于desc tblname,show columns from tbname
|
|
||||||
\d tblname
|
|
||||||
|
|
||||||
\di 查看索引
|
```
|
||||||
|
\c dbname
|
||||||
|
```
|
||||||
|
|
||||||
|
列举数据库,相当于mysql的show databases
|
||||||
|
|
||||||
|
```
|
||||||
|
\l
|
||||||
|
```
|
||||||
|
|
||||||
|
列举表,相当于mysql的show tables
|
||||||
|
|
||||||
|
```
|
||||||
|
\dt
|
||||||
|
```
|
||||||
|
|
||||||
|
查看表结构,相当于desc tblname,show columns from tbname
|
||||||
|
|
||||||
|
```
|
||||||
|
\d tblname
|
||||||
|
```
|
||||||
|
|
||||||
|
查看索引
|
||||||
|
|
||||||
|
```
|
||||||
|
\di
|
||||||
|
```
|
||||||
|
|
||||||
创建数据库:
|
创建数据库:
|
||||||
create database [数据库名];
|
|
||||||
删除数据库:
|
|
||||||
drop database [数据库名];
|
|
||||||
*重命名一个表:
|
|
||||||
alter table [表名A] rename to [表名B];
|
|
||||||
*删除一个表:
|
|
||||||
drop table [表名];
|
|
||||||
|
|
||||||
*在已有的表里添加字段:
|
```
|
||||||
|
create database [数据库名];
|
||||||
|
```
|
||||||
|
|
||||||
|
删除数据库:
|
||||||
|
|
||||||
|
```
|
||||||
|
drop database [数据库名];
|
||||||
|
```
|
||||||
|
|
||||||
|
重命名一个表:
|
||||||
|
|
||||||
|
```
|
||||||
|
alter table [表名A] rename to [表名B];
|
||||||
|
```
|
||||||
|
|
||||||
|
删除一个表:
|
||||||
|
|
||||||
|
```
|
||||||
|
drop table [表名];
|
||||||
|
```
|
||||||
|
|
||||||
|
在已有的表里添加字段:
|
||||||
|
|
||||||
|
```
|
||||||
alter table [表名] add column [字段名] [类型];
|
alter table [表名] add column [字段名] [类型];
|
||||||
*删除表中的字段:
|
```
|
||||||
|
|
||||||
|
删除表中的字段:
|
||||||
|
|
||||||
|
```
|
||||||
alter table [表名] drop column [字段名];
|
alter table [表名] drop column [字段名];
|
||||||
*重命名一个字段:
|
```
|
||||||
|
|
||||||
|
重命名一个字段:
|
||||||
|
|
||||||
|
```
|
||||||
alter table [表名] rename column [字段名A] to [字段名B];
|
alter table [表名] rename column [字段名A] to [字段名B];
|
||||||
*给一个字段设置缺省值:
|
```
|
||||||
|
|
||||||
|
给一个字段设置缺省值:
|
||||||
|
|
||||||
|
```
|
||||||
alter table [表名] alter column [字段名] set default [新的默认值];
|
alter table [表名] alter column [字段名] set default [新的默认值];
|
||||||
*去除缺省值:
|
```
|
||||||
|
|
||||||
|
去除缺省值:
|
||||||
|
|
||||||
|
```
|
||||||
alter table [表名] alter column [字段名] drop default;
|
alter table [表名] alter column [字段名] drop default;
|
||||||
|
```
|
||||||
|
|
||||||
在表中插入数据:
|
在表中插入数据:
|
||||||
|
|
||||||
|
```
|
||||||
insert into 表名 ([字段名m],[字段名n],......) values ([列m的值],[列n的值],......);
|
insert into 表名 ([字段名m],[字段名n],......) values ([列m的值],[列n的值],......);
|
||||||
|
```
|
||||||
|
|
||||||
修改表中的某行某列的数据:
|
修改表中的某行某列的数据:
|
||||||
|
|
||||||
|
```
|
||||||
update [表名] set [目标字段名]=[目标值] where [该行特征];
|
update [表名] set [目标字段名]=[目标值] where [该行特征];
|
||||||
|
```
|
||||||
|
|
||||||
删除表中某行数据:
|
删除表中某行数据:
|
||||||
|
|
||||||
|
```
|
||||||
delete from [表名] where [该行特征];
|
delete from [表名] where [该行特征];
|
||||||
delete from [表名];--删空整个表
|
delete from [表名];--删空整个表
|
||||||
|
```
|
||||||
|
|
||||||
创建表:
|
创建表:
|
||||||
|
|
||||||
|
```
|
||||||
create table ([字段名1] [类型1] <references 关联表名(关联的字段名)>;,[字段名2] [类型2],......<,primary key (字段名m,字段名n,...)>;);
|
create table ([字段名1] [类型1] <references 关联表名(关联的字段名)>;,[字段名2] [类型2],......<,primary key (字段名m,字段名n,...)>;);
|
||||||
|
```
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
```
|
||||||
\copyright 显示 PostgreSQL 的使用和发行条款
|
\copyright 显示 PostgreSQL 的使用和发行条款
|
||||||
\encoding [字元编码名称]
|
\encoding [字元编码名称]
|
||||||
显示或设定用户端字元编码
|
显示或设定用户端字元编码
|
||||||
@ -49,3 +125,5 @@ create table ([字段名1] [类型1] <references 关联表名(关联的字段名
|
|||||||
\password [USERNAME]
|
\password [USERNAME]
|
||||||
securely change the password for a user
|
securely change the password for a user
|
||||||
\q 退出 psql
|
\q 退出 psql
|
||||||
|
```
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user