使用SoftEther组虚拟内网

来源:https://blog.csdn.net/qq_39591494/article/details/78625394
####0.打开服务器的相应端口:其中53为DNS端口,443是VPN的管理端口(可与nginx共存,不影响),500、4500和1701是VPN端口:
####1.在linux上安装服务端
https://www.softether-download.com/en.aspx?product=softether
a.下载liun下服务端版本对应版本;
b.make安装服务端
c../vpnserver start 启动
d../vpncmd 配置,
ServerPasswordSet:设置密码;
HubCreate Yankerp:设置集线器为Yanerp;
####2.在window上安装服务控制端
https://www.softether-download.com/en.aspx?product=softether
a.下载window服务端版本
b.安装服务配置端!!!
c.配置,虚拟hub模式
d.添加用户及密码
####3.在window上安装客户端
https://www.softether-download.com/en.aspx?product=softether
a.下载window客户端版本
b.安装客户端
c.配置,密码上第2步设置的


此工具支持l2tp,pptp,openvpn等协议
服务端会自动分配一个动态dns域名,是否可安装在不固定IP的情况下?

使用frp搭建内网穿透

来源:https://blog.csdn.net/gsls200808/article/details/80271840

0.下载:0.20的linux版本和window版本:https://github.com/fatedier/frp/releases/

1.linux版本作为服务器:端口数据流web8090—>tunnel7000

# frps.ini
[common]
bind_port = 7000  #客户端与服务端通讯端口
vhost_http_port = 8090  #服务端监控的web端口

#特权配置
privilege_mode = true
privilege_token = 123456789099

服务端启动:./frps -c frps.ini
2.window版本作为客户端:端口数据流tunnel7000—>webServ8022

# frpc.ini
[common]
server_addr = 114.215.87.93  #服务器IP
server_port = 7000   #服务器通讯/转发端口
privilege_token = 123456789099  

[web]
privilege_mode = true
type = http
local_ip = 127.0.0.1
local_port = 8022  #客户端转发端口
custom_domains = frp.vvvtimes.com  #外网映射的域名
pool_count = 10

客户端启动:frpc.exe -c ./frpc.ini
3.使用nginx隐藏映射域名的端口:web80–>web8090

upstream frps {
    server 127.0.0.1:8090;
    keepalive 64;
}
server {
    listen 80;
    server_name *.ngrok.tanguu.com;
    location / {
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header Host  $http_host:8090;
        proxy_set_header X-Nginx-Proxy true;
        proxy_set_header Connection "";
        proxy_pass      http://frps;
    }
}

整体数据流程:
1.用户打开浏览器,输入域名默认80端口
2.通过nginx转发到8090端口
3.服务端frp监听到8090的数据流动,把数据通过7000端口输出到客户端
4.客户端frp监控到有服务端来的数据流动,把数据再次转发到本地web容器端口处理。

类与对象

1.php中默认调用类中的静态方法“A::func”,但非静态方法也能使用,应该尽量避免使用此方式!!!!
2.extends 继承父类,调用父类方法用parent::funcA();
3.类属性与普通php变量不一样;
定义:类属性前一定要加上访问限制符!!!
调用:$this->a;
静态属性调用:self::$a;(静态调用要加上$符号)
4.继承抽象类用关键字:extends;实现接口用关键字:implements

控制结构

1.contine默认跳出一层循环,后面接数字跳出几层循环。
while(1){echo 1;while(1){echo 2;contine 2;}}
2.include 包含的文件不在,出警告,继续执行;
3.require 包含的文件不在,出错误,不继续执行;
4.foreach遍历数组两种方式:
foreach (array as $value)
statement
foreach (array as $key => $value)
statement