使用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容器端口处理。

keepalived外网IP作为VIP可行配置

! Configuration File for keepalived

global_defs {
   router_id LVS1_DEVEL
}

vrrp_instance HA_1 {
    state BACKUP
    interface eno1
    virtual_router_id 51
    priority 90
    advert_int 1
    garp_master_delay 3
    nopreempt
    authentication {
        auth_type PASS
        auth_pass 1111
                }
                virtual_ipaddress {
                        101.132.91.5
                }
                notify /etc/keepalived/arp.sh #notify 表示任何一状态切换时都会调用该脚本,并且该脚本在以上三个脚本执行完成之后进行调用
}

virtual_server 101.132.91.5 80 {
     delay_loop 2
     #lb_algo wrr #带有权重的轮询
     #lb_kind DR
     persistence_timeout 60 #同一IP的连接60秒内被分配到同一台真实服务器
     protocol TCP
     real_server 101.132.91.4  80 {
         weight 3 #权重为3
         notify_down /data/keepalived_shutdown.sh #当mysq服down时,执行此脚本,杀死keepalived实现切换, 自杀脚本.
         TCP_CHECK {
             connect_timeout 10
             nb_get_retry 3
             delay_before_retry 3
             connect_port 80
         }
     }
}


arp.sh内容

# cat /etc/keepalived/arp.sh
#!/bin/bash
VIP=101.132.91.5
GATEWAY=101.132.91.1
arping -I eno1 -c 3 -s $VIP $GATEWAY &>/dev/null

说明:
基本格式 arping -I 发送包的网卡接口 -c 次数 -s 源ip 目的ip
-I interface:设置ping使用的网络接口。
-c count:表示发送指定数量的ARP请求数据包后就停止。如果指定了deadline选项,则arping会等待相同数量的arp响应包,直到超时为止;

-s source:设定arping发送的arp数据包中的SPA字段的值。如果为空,则按下面处理,如果是DAD模式(冲突地址探测),则设置为0.0.0.0,如果是Unsolicited ARP模式(Gratutious ARP)则设置为目标地址,否则从路由表得出;

keepalived_shutdown.sh内容

#!/bin/bash
#kill掉keepalived进程,以防止脑裂问题。
service keepalived stop  #或者pkill keepalived

附件–密码:学号keepalived

代理上网/IP代理

1.现在常用的ssr是基于sock5的代理
本地要再运行一个客户端做二级代理,把所有流量集中到统一的本地端口,如1080
缺点是,浏览器比较方便使用代理,但其他软件不方便,需要借助第三方工具,如mstsc使用sock5代理出去,需要安装socksCap工具。
2.以前常用的是http/https代理:
代理服务端:nginx正向代理(http可以,https代理不稳定);squid软件(配置也简单,支持http/https)
如果软件支持代理,直接填写ip:端口这样的模式就可直接代理
比如:IE–》internet选项—》连接—》局域网设置—》代理服务器—》填写IP和端口保存即可。
3.多级代理,可使用CCproxy(付费,但方便操作)或者go-proxy ui(去github上下载)实现管理。


网上有很多国内的IP代理,基本是http代理方式,同时还提供IP池的API方便使用。

zabbix3.4安装过程

1.https://www.cnblogs.com/rnckty/p/7650978.html

2.遇到的问题:
zabbix configure: error: MySQL library not found
yum install mysql-devel -y

configure: error: Curl library not found
yum install curl-devel

安装php的zabbix程序时,提示修改参数
vi /etc/php.ini
安装缺少的库(此处因为使用了快速安装php的方法)
yum install –enablerepo=remi –enablerepo=remi-php56 php-xxx
修改后,要重启php-fpm

ulimit设置

查看系统配置
ulimit -a

查询文件符号限制数
ulimit -n

查询进程限制数
ulimit -u

修改配置永久生效:
vi /etc/security/limits.conf
# 在文件内容最后一行,添加如下的行
* soft noproc 65536
* hard noproc 65536
* soft nofile 65536
* hard nofile 65536
说明:* 代表针对所有用户
noproc 是代表最大进程数
nofile 是代表最大文件打开数
临时生效
ulimit -n 65536
ulimit -u 65536

91monitor安装

开源版91Monitor-安装教程
91 Monitor
示例站点:www.91monitor.com (不安装的情况下,无法使用管理员账号登录,只能注册后使用)

91 monitor是一款专门为监控服务器状态的PHP开源系统。 特点概述:支持监听各种服务器端口,以及web站点 , 并且支持终端控制

环境
PHP版本5.5.9以上(扩展:OpenSSL PHP Extension,PDO PHP Extension,Mbstring PHP Extension)
Linux服务器
Composer 工具
MySQL 5.6以上
第一步克隆
克隆项目(确保有github账号,并且本地公钥已经在github账户,否则无法克隆,你也可以选择https方式的下载)
git clone git@github.com:123jixinyu/monitor.git

第二步安装
注意:第二步过程可使用脚本安装,项目根目录执行: sudo sh 91monitor_install.sh,也可按照下面的方法一步步安装(建议)

安装laravel依赖 进入项目根目录,例如我的项目目录为/home/wwwroot/monitor
cd /home/wwwroot/monitor

composer install

在根目录新建.env文件并将.env.example文件内容复制到.env,并修改.env配置,建立相应数据库
cd /home/wwwroot/monitor

cp .env.example .env

建立数据库(例如新建一个名为monitor的数据库)

修改.env 文件 配置数据库连接,分别是数据库类型、数据库地址、数据库名、数据库用户名、数据库密码。
DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_DATABASE=monitor
DB_USERNAME=root
DB_PASSWORD=123456
配置邮箱,分别是发件服务器类型,发件地址,发件端口,发件邮箱,发件邮箱密码,发件邮件加密类型(以下是QQ邮箱示例)

MAIL_DRIVER=smtp
MAIL_HOST=smtp.qq.com
MAIL_PORT=465
MAIL_USERNAME=848280118@qq.com
MAIL_PASSWORD=123456
MAIL_ENCRYPTION=ssl
调试模式,true为开启,false为关闭

APP_DEBUG=true
到项目根目录运行artisan命令初始化表以及生成应用key
cd /home/wwwroot/monitor

php artisan migrate

php artisan key:generate

初始化基本数据
cd /home/wwwroot/monitor

composer dump-autoload

php artisan db:seed

第三步 配置nginx(示例配置)
配置nginx映射到public 目录下,并且设置storage以及bootstrap目录读写权限。在public 目录下创建名为uploads的文件夹并赋予写入权限
server
{
listen 80;
server_name www.91monitor.com;
index index.html index.htm index.php;
root /home/wwwroot/monitor/public;

#error_page   404   /404.html;

# Deny access to PHP files in specific directory
#location ~ /(wp-content|uploads|wp-includes|images)/.*\.php$ { deny all; }

include enable-php.conf;

#location / {
#    allow all;
#    rewrite ^(.*)$ /index.php;
#}
location / {
    try_files $uri $uri/ /index.php$is_args$args;

}
location /uploads{
    allow all;
}
location /nginx_status
{
    stub_status on;
    access_log   off;
}

location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$
{
    expires      30d;
}

location ~ .*\.(js|css)?$
{
    expires      12h;
}

location ~ /.well-known {
    allow all;
}

location ~ /\.
{
    allow all;
}

access_log  /home/wwwlogs/access.log;

}

第四步
将/usr/bin/php /home/wwwroot/monitor/artisan schedule:run 加到crontab中去,其中/home/wwwroot/monitor是你的项目目录。(/usr/bin/php是我的服务器php可执行文件路径,这里你们写自己的路径)
* * * * * /usr/bin/php /home/wwwroot/monitor/artisan schedule:run

安装后默认登录账户为admin@admin.com 密码123456(不安装情况下无法使用该账号)