鸡场养殖-可视化的iptables转发面板-详细教程

web可视化管理面板,支持多台服务器管理。

iptables转发优点不做介绍,缺点是配置复杂容易出错。使用本文教程可轻松驾驭。

01.png

前排感谢:黑店-良辰(taoluyun.cc)、逗逼(doubibackup.com)
运行环境:前端推荐nginx+php7+mysql5;后端推荐centos7(本教程仅基于centos7)

前端部署(面板)

下载源代码文件 rules-panel-master.zip

解压后上传Mater文件至网站根目录

并将public设置为根目录

设置如下伪静态规则

location /{ if (!-e $request_filename) { rewrite ^/(.*)$ /index.php/$1 last; break; } }

设置cron定时任务 https://你的网址/cron (5分钟一次)

导入数据库(test.sql)数据库配置文件app/config.php 默认用户名密码为:admin 123456

至此,前端安装完毕。

后端安装-NodeJS版(此版本不推荐使用,建议使用Golang版)

作者重写了后端,此版本开源。新版后端不开源但性能更优,您可自行选择安装。文章底部有新版教程。

安装后端前需要在面板添加后端服务器

TIM截图20200128175905.png

获取key后面对接会用

TIM截图20200128175948.png

安装nodejs最新版(centos)

yum install epel-* -y

yum install nodejs -y

npm install n -g

n latest

npm install pm2 -g

nodejs和pm2安装结束

设置pm2开机自启

pm2 startup

新建文件夹iptables_forward并切换至该文件夹

mkdir iptables_forward

cd iptables_forward

下载配置文件

wget https://raw.githubusercontent.com/Git-Lofter/rules-panel/master/Slave/app.js

wget https://raw.githubusercontent.com/Git-Lofter/rules-panel/master/Slave/package.json

编辑app.js并修改以下三处 vi app.js

​ const master_url = "https://baidu.com" #填写前端地址

​ const slave_key = '123456'; #填写节点key

​ const nic_ip = '1.1.1.1'; #主网卡上的IP(如果主网卡IP=公网IP时,当IP变动,需更新此处IP,并且重启本进程!!!)

*Mater URL是主控的网址

*key是主控添加服务器后生成的

*主网卡IP查看方法:ip addr

然后在该文件夹下执行

npm install

安装iptables转发(逗比转发脚本)

wget http://ftp.inwang.net/iptables-pf.sh && chmod +x iptables-pf.sh

执行iptables转发脚本,执行第一个选项安装iptables

启动/开机自启

pm2 start app.js

pm2 save

重启服务器

reboot

到此安装结,前往前端将服务器分配给自己

TIM截图20200128180523.png

可以愉快使用了。

其他命令

pm2 list #查询
pm2 logs 0 #查询日志
pm2 stop 0 #暂停
pm2 flush #清除日志

错误分析

提示文件写入失败:chown www 网站目录 -R
添加完服务器却找不到:给用户分配权限
如果你的小鸡是NAT,app.js里的ip应该为内网ip

被控端部署-Golang版(推荐):

代码和执行逻辑重构,大幅降低CPU占用情况,但是不开放源代码,仅提供编译好的二进制程序

本程序会接管iptables的NAT规则,如果您不熟练iptables,请不要使用其他基于iptables的脚本!!!

开启转发(此处为逗比脚本):

wget http://ftp.taoluyun.cc/iptables-pf.sh && chmod +x iptables-pf.sh

然后执行

./iptables-pf.sh 

执行选项1安装iptables

清空本地iptables规则(如果你是从nodejs被控端换过来,也必须执行此命令)

iptables -F

iptables -t nat -F

保存防火墙

CENTOS执行:

service iptables save

下载被控文件:

wget https://github.com/Git-Lofter/rules-panel/raw/master/Slave/Go/ip_table && chmod +x ip_table

设定定时任务:

crontab -e

输入以下内容,

*/5 * * * * . /etc/profile;/root/ip_table 密钥 本地IP https://前端网址/api

示例

*/5 * * * * . /etc/profile;/root/ip_table key123 10.0.0.4 https://baidu.com/api

参数说明:

*10.0.0.4 为主网卡上的IP,查看方法:ip addr 如果您的IP为公网IP,并且是动态IP,当IP变动时需要修改此处

*https://baidu.com/api 为您的主控URI,请自行替换为您的域名

小尾巴

项目地址:https://github.com/Git-Lofter/rules-panel
面板收费0.01元/月,请前往黑店购买-->taoluyun.cc
不购买并不影响使用,但影响颜值。所以,请购买!

已有 2 条评论
  1. Nonage

    感谢大佬的教程,正愁买了授权不会搭建呐,感谢!!!

    Nonage 2020年2月19日, 5:08回复
  2. 1

    这个是干嘛的

    1 2020年2月16日, 18:46回复
发表新评论