您正在查看: 学习心得 分类下的文章

windows下配置双网卡分流实现内网外网同时上网

前提概要:工作和学习中,有时候需要实现内网和外网同时访问,内网环境访问不了外网,访问外网使用手机热点又得拔掉网线,来回切换显得非常麻烦,其实在连接热点的情况下,电脑上是有两个网卡的,这个时候经过配置网关分流可以实现内网和外网同时访问的,下面就对我的折腾经验作为分享。 小乖.png

首先使用ipconfig命令查看本机的网络环境

内网(局域网):
以太网:
   IPv4 地址 . . . . . . . . . . . . : 192.168.46.50
   子网掩码  . . . . . . . . . . . . : 255.255.255.0
   默认网关. . . . . . . . . . . . . : 192.168.46.1

外网(手机热点):
以太网2:
   IPv4 地址 . . . . . . . . . . . . : 172.20.10.3
   子网掩码  . . . . . . . . . . . . : 255.255.255.240
   默认网关. . . . . . . . . . . . . : 172.20.10.1

可以看到两个网卡是同时连接的,使用route print命令查看路由表可发现:

0.0.0.0 0.0.0.0 172.20.10.1 172.20.10.3 外网
0.0.0.0 0.0.0.0 192.168.46.1 192.168.46.50 内网

指向0.0.0.0的有两个网关,这样就会出现路由冲突,两个网络可能不能同时访问。
PS:0.0.0.0指的是本机上的所有IPV4地址

想实现同时访问也很简单
1.删除0.0.0.0的所有路由
route delete 0.0.0.0

2.重新添加0.0.0.0网络路由的网关为外网网关,将所有流量默认走外网网关
route add 0.0.0.0 mask 0.0.0.0 172.20.10.1

3.将内网网段192.168.46.*的所有流量走内网网关,这样就实现了内网外网同时访问互不影响
route add 192.168.46.0 mask 255.255.255.0 192.168.46.1

这里经过我抓包发现内网还有一个网页的服务器地址为192.168.50.187,于是我还需要再添加一个网段走内网流量
route add 192.168.50.0 mask 255.255.255.0 192.168.46.1

好了完结撒花~ 你懂的.png
当然这样设置只是临时的,重启就会失效,可以在命令最后加上-p设为静态(永久)路由,防止下次重起时配置消失。

centos 删除和添加swap交换空间

最近开了个老毛子的小鸡,最低配的5G硬盘,玩起来也只能当跳板了
除去系统的一个多G,我发现系统默认配置了2G的swap交换区,本来空间就小,索性就删除之 滑稽.png

删除swap交换区

1)首先停止swap分区
/sbin/swapoff /swapfile
2)删除swap分区文件
rm -rf /swapfile
3)删除自动挂载的配置命令
首先打开配置文件
vi /etc/fstab
然后删除下面这行
/swapfile swap swap default 0 0
这样swap分区就删除完毕了 太开心.png

如果后续想添加也可以手动添加

增加swap交换区

- 阅读剩余部分 -

记录下win10配置git过程

本机环境:Windows10 1809 64bit

开始:

1 下载git

官方下载地址:https://git-scm.com/download/win

2 安装git

1、安装页面
Install_start.png

2、安装路径
Install_path.png

- 阅读剩余部分 -

Win10平台下JDK的下载安装与环境配置

最近学习了配置JDK环境,记录下来供以后参考。 乖.png

一、下载

1.首先打开JDK的官方下载页面:https://www.oracle.com/technetwork/java/javase/archive-139210.html
里面有Java SE所有版本的下载:
JDK所有版本下载
2.选择你需要的Java SE版本,在这里我要下载的是windows版本的,必须要接受协议才能下载,选择"Accept License Agreement"
JDK下载
3.可能需要你登录才能下载,注册一个账号即可。等待下载完成之后可看到类似于这样一个文件:
JDK-9.0.4安装包.png

- 阅读剩余部分 -

Centos下给PHP开启fileinfo扩展

由于需要用到fileinfo,而编译安装php的时候恰巧忘了安装fileinfo,现在给php配置fileinfo扩展,并记录下过程仅供参考。


首先如何查看php是否安装了fileinfo扩展?
在vps上直接运行php -m命令即可查看PHP已经安装了哪些扩展;
或者新建一个PHP文件,写上如下内容:

<?php
    phpinfo();
?>

将PHP文件上传至网站目录,访问文件即可在线查看PHP的配置信息。


下面看如何开启PHP的fileinfo扩展
1.找到phppize目录,一般在安装好的php目录下,可使用find / -name fileinfo命令来查找,找到在哪后进入该目录;
QQ截图20181130153434.png

2.在fileinfo目录下执行/www/server/php/72/bin/phpize命令,命令中的命令为自己服务器的实际路径为准;
执行成功后会有如下提示:

Configuring for:
PHP Api Version:         20170718
Zend Module Api No:      20170718
Zend Extension Api No:   320170718

3.找到安装PHP文件的源目录,如果实在找不到的话可重新下载相同版本的PHP解压即可,
这里我目录为:/www/server/php/72/bin/php-config

4.配置php-config路径,以自己服务器的实际路径为准;

./configure --with-php-config=/www/server/php/72/bin/php-config

5.编译安装

make && make install

如果安装成功,会有类似以下信息

Installing shared extensions:     /www/server/php/72/lib/php/extensions/no-debug-non-zts-20170718/

6.修改PHP配置文件php.ini,这里我的文件路径为:/www/server/php/72/etc/php.ini
在后面加入如下一行:

extension = fileinfo.so;

7.最后重启nginx以及php-fpm这个时候phpfinfo信息里就会出现fileinfo,到此fileinfo安装完毕~ 太开心.png

nginx下禁止访问.git等隐藏文件夹

今天进腾讯云的控制台 偶然发现腾讯云一直给我提示的漏洞 其中有一个挺为严重的 汗.png
QQ截图20180626155743.png

我的网站配置下并没有屏蔽隐藏文件夹例如.git等文件夹的访问 甚至可以直接下载隐藏文件夹的内容 啊.png
确实是我没有想到的 如果你也有这种情况 就需要进行配置服务器来禁止敏感文件的访问了 否则就直接暴露在大庭广众之下了...

nginx的配置很简单
在server{}段内增加
代码如下:

location ~ /\.
{
deny all;
}

这样就把所有的隐藏文件夹给屏蔽访问了 如果想单独屏蔽某一隐藏文件夹的访问只需要

location ^~ /.git
{
return 444;
}

使用frp搭建内网穿透和基友畅玩我的世界

嗨啊,毕业答辩完了,基本上我也是个准毕业生了! 太开心.png
离校前还有半个月无所事事,准备下周去和室友出去旅旅游? 滑稽.png
不过我们一致决定准备重新搞一搞我的世界 小乖.png
这个游戏可谓是自带毒品属性,一玩起来就是废寝忘食..... 懒得理.png
开个服务器光内网能玩有什么意思?隔壁大学的基友还想加入战斗怎办? 挖鼻.png
刚好手上有一堆服务器,那就自己动手搭建一个内网穿透吧! 酷.png


以前我使用ngrok搞过内网穿透,不过编译和配置太过麻烦还有现在作者已经弃坑了,准备找一个更好用的内网穿透工具
在gayhub上搜索一番,发现有个国人的项目frp好像挺厉害的样子,光star就有12k,于是准备搭一个玩玩 真棒.png
项目地址:https://github.com/fatedier/frp
中文文档:https://github.com/fatedier/frp/blob/master/README_zh.md
具体各种情况下的配置 文档已经说明的很全面了,在这里我就用我的世界内网穿透搭建进行简单的说明:
原理:使用frp搭建内网穿透,将本地内网端口23333映射到远程公网服务器23333

开始配置:

根据对应的操作系统及架构,从 Release 页面下载最新版本的frp程序
这里我本地用的win10 远程服务器使用的centos6
下载相对应的程序后
frpsfrps.ini 放到具有公网 IP 的机器上。
frpcfrpc.ini 放到处于内网环境的机器上。

修改配置文件将内网端口映射到公网服务器

1.修改 frps.ini 文件,这里我使用了最简化的配置并且开启了面板,服务器记得放行相应端口 汗.png

[common]
bind_port = 7000

dashboard_port = 7500
# dashboard 用户名密码,默认都为 admin
dashboard_user = admin
dashboard_pwd = admim
# 可使用 服务器ip:7500 来访问面板

- 阅读剩余部分 -

let's encrypt泛域名野卡证书配置笔记

今天听说let's encrypt的泛域名野卡证书正式上线了,测试了那么久....
本以为是有生之年系列,不过能赶上还是美滋滋的 太开心.png
泛域名证书就比单域名证书方便的多了,一次签发所有子域名通用 只需要担心续期问题就行了
这里我用的是acme.sh自动签发的
Github:https://github.com/Neilpang/acme.sh
官方中文说明:https://github.com/Neilpang/acme.sh/wiki/%E8%AF%B4%E6%98%8E

开始配置:

1.安装acme.sh

安装很简单 一个命令就搞定了

curl  https://get.acme.sh | sh

安装成功后就自动吧acme安装进了用户目录下的.acme目录中了,并且自动把acme.sh添加进了用户环境中,可以很方便的直接使用acme.sh命令。

2.获取证书

这里我使用dns自动验证方式验证域名所有权
acme.sh 目前支持 cloudflare, dnspod, cloudxns, godaddy 以及 ovh 等数十种解析商的自动集成
具体可参考官方文档:https://github.com/Neilpang/acme.sh/blob/master/dnsapi/README.md

由于我的dns解析使用的CloudXNS 所以可以直接在我的CloudXNS 设置中获取dns api
获取自己的dns api就可以进行配置了

export CX_Key="1234"
export CX_Secret="sADDsdasdgdsf"

配置好dns api后使用下面的命令 来获取证书(请替换ffis.me为自己的域名)

acme.sh   --issue   --dns dns_cx  -d ffis.me -d *.ffis.me

需要注意的是第一个 -d 后不可直接写通配符域名*.xx.com,一定要写个单域名,第二个 -d 后面可以写泛域名。
否则可能会出现签发的证书无法被信任的情况。

到这里我们的证书就自动获取到用户目录下的.acme.sh文件夹下了,建议将证书文件复制到其他目录使用,
可用以下命令自动复制到指定目录:

acme.sh  --installcert  -d  ffis.me   \
        --key-file   /usr/local/nginx/conf/ssl/ffis.me/*.ffis.me.key \
        --fullchain-file /usr/local/nginx/conf/ssl/ffis.me/*.ffis.me.cer \
        --reloadcmd  "service nginx force-reload"

该命令会被自动记录的 以后自动更新证书的时候也会自动执行该命令的

PS:acme.sh会在60天以后自动更新证书

centos7下python3与python2共存并且开启py3虚拟环境

因为下载视频需要用到python3环境,今天在我的win上安装下载工具死活安装不上去,在大盘鸡上一下就安装成功了...
可能在win上不兼容吧...无奈只能在大盘鸡上进行折腾了,顺便几个笔记

由于大盘鸡上好多程序基于python2的,所以就没法直接替换掉系统内置的环境,所以需要单独安装python3并且开启虚拟环境,这样就互不影响了,

1.首先安装所需要的依赖环境(别管用到用不到,装就对了!)

yum -y install zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gdbm-devel db4-devel libpcap-devel xz-devel

2.下载最新的python Python官方网站下载 我这里最新版是python 3.6.4

wget https://www.python.org/ftp/python/3.6.4/Python-3.6.4.tgz

3.解压下载的压缩文件,并且进入解压后的目录

tar -zxvf Python-3.6.4.tgz
cd Python-3.6.4

4.创建Python3的安装目录

mkdir /usr/local/python3

5.开始编译安装python3

./configure --prefix=/usr/local/python3
make && make install

6.创建python3pip3的软连接

ln -s /usr/local/python3/bin/python3 /usr/bin/python3
ln -s /usr/local/python3/bin/pip3 /usr/bin/pip3

7.测试安装后的python3pip3命令

[root@host]# python3 -V
Python 3.6.4
[root@host]# pip3 -V
pip 9.0.1 from /usr/local/python3/lib/python3.6/site-packages (python 3.6)

到此python3就单独安装完成了,也不影响系统内置的python2环境
可是系统中并没有python3环境,有些软件需要运行在python3环境中,
这时候我们就需要创建一个虚拟的python3环境了
创建虚拟环境很简单,运行以下命令即可

cd /opt
python3 -m venv py3

此时虚拟环境已经安装好了
虚拟环境使用方法:
进入虚拟环境

source /opt/py3/bin/activate 或者
. /opt/py3/bin/activate

进去后是这样的
QQ截图20180125233726 (1).png
红框内即是所运行的虚拟环境
如需退出虚拟环境,使用deactivate命令即可。
好了,centos7python3的虚拟环境搭建完成!

个人私有云搭建-Nextcloud安装笔记

PS:前几天百度云开始对使用第三方下载工具的账号封号 不高兴.png ,现在基本已经没有免费好用的网盘供我们使用了...
对于手中有服务器并且乐于折腾的小朋友来说,搭建个人私有云来储存我们的大姐姐最合适不过了,也安全。
在这里我就搭建Nextcloud私有云的过程,写成笔记记录下来,供大家参考和自己学习使用 乖.png

Nextcloud

Nextcloud是一个免费专业的私有云存储网盘开源项目,可以让你简单快速地在个人/公司电脑、服务器甚至是树莓派等设备上架设一套属于自己或团队专属的云同步网盘,从而实现跨平台跨设备文件同步、共享、版本控制、团队协作等功能。

简单的说,Nextcloud就是一个功能非常强大的免费开源的私人网盘程序,因此只要你的设备性能和空间充足,那么使用起来几乎没有任何限制。唯一的门槛就是安装和配置Nextcloud服务端的时候需要一点点的折腾。
软件截图:
nextcloud1.jpg
nextcloud2.png

下面我们开始折腾

- 阅读剩余部分 -

  1. 1
  2. 2
  3. 3
  4. 4
  5. 5