高级教程-安全访问家庭网络

admin


本文最后更新于 2023年03月1日
远程访问群晖

前言

这篇文章是我一直就想写的一篇文章,互联网暗流涌动,大量的黑产,肉鸡,扫描这互联网的上的公网IP,企图侵犯用户的网络安全,目前网上大量的教程都是教大家开放自己的端口,暴露在公网,更有甚者盲目的去让大家把整个家庭网络中的全部设备都暴露在危险的互联网上(例如开启DMZ)

如何最大限度的减少网络安全风险

本文的核心内容就是,帮助大家减少设备在公网下的安全问题,我个人其实挺喜欢大内网的,有自己的VPS的人应该都知道,自己的主机一天要被扫多少次,有多少人在爆破自己的SSH,个人用户不是网络安全运维,没那个时间也没那个能力去解决这件事

为了保证安全,只暴露必要的端口

我的建议是,只暴露下载所需的P2P端口,和本文接下来要讲的软件的端口

bt,pt下载由于需要上传和连接上更多的用户,所以要开放P2P端口

大部分用户连接到内网设备无外乎就是打开个网页或者RDP访问远程主机,这些我们都能够通过本文即将阐述的教程做到,所以只开放2两个端口足以满足大部分用户的需求

神奇工具的神奇用法

我尽量讲的简单一点

本文要用到两个工具,一个是L大的openwrt自带的v2r服务器,在软路由中创建v2r服务,之所以推荐在openwrt上部署v2r服务,因为L大的openwrt可以很方便的开启bbr,在客户端网络条件差的情况下可以有效提高吞吐量

还有一个工具就是本文主要要讲的clash,之所以用clash,是因为他除了方便使用,分流好使,无感知切换

v2r服务器
clash

区分流量,不让所有流量都走家庭网络

本文使用clash的目的上面已经写的很清楚了,这就是为什么要使用该工具来访问自己的家庭网络,而不是用V-P*N,V-P*N会让所有的流量都走自己的家庭网络,没必要且影响网速

教程正式开始

从服务端讲起

用openwrt最简单,这里玩软路由的人很多,不懂怎么安装openwrt的可以站内搜索

按图操作即可

之后把这个端口转发到路由器上即可,光猫拨号的话就在多转发一次到光猫

需要提醒的一点是,v2r的ID和端口,是绝对不能透露给任何人的,否则对方可以随意在你的家庭网络内穿梭

手敲代码部署

//所有的注释都必须要删掉{"log": {"loglevel": "warning"},"inbounds": [{"port": 对外端口,"listen": "0.0.0.0","protocol": "trojan",//为啥用Trojan,因为即便只是访问家庭网络,有些协议也是会被阻断"settings": {"clients": [{"password": "自行设置uuid"}]},"streamSettings": {"network": "tcp","security": "tls","tlsSettings": {"allowInsecure": false,"minVersion": "1.2","alpn": ["h2","http/1.1"],"certificates": [{"ocspStapling": 3600,"certificateFile": "/etc/xray/ssl/full_chain.pem","keyFile": "/etc/xray/ssl/private.key"}]}},"sniffing": {"enabled": true,"destOverride": ["http","tls"]}}],"outbounds": [{"protocol": "freedom","settings": {},"tag": "direct"},{"protocol": "freedom","settings": {},"tag": "home"},{"protocol": "blackhole","settings": {},"tag": "blocked"}],"routing": {"rules": [{"type": "field","outboundTag": "home","ip": ["10.0.0.0\/8","192.168.0.0\/16"//写你自己的局域网段]}],"domainStrategy": "IPOnDemand"}}

客户端的部署

找到自己对应平台的clash客户端(全平台都有对应客户端,很方便),我是macOS,用clashx做范例,(配置文件都是通用的,所以什么客户端都一样)

这里我放一份脱敏的配置文件给大家参考

clash最新版的完整配置文件挺复杂的,但是更容易理解了,网上有完整版配置文件,把我留下的关键内容嵌套上去即可

完整版配置:https://github.com/DivineEngine/Profiles/blob/master/Clash/Outbound.yaml

hosts:
'router.asus.com': 192.168.1.1

proxies:

# VMess
- name: "HOME"
type: vmess
server: 你的DDNS地址
port: 10086
uuid: 你的v2r id
alterId: 16
cipher: auto
udp: true

proxy-groups:

# 家庭网络"
- name: "家庭网络"
type: select
proxies:
- HOME
- DIRECT

# Local Area Network
- IP-CIDR,10.0.0.0/8,DIRECT
- IP-CIDR,172.16.0.0/12,DIRECT
- IP-CIDR,127.0.0.0/8,DIRECT
- IP-CIDR,100.64.0.0/10,DIRECT
- IP-CIDR,224.0.0.0/4,DIRECT

# 家庭网络
- IP-CIDR,192.168.0.0/16,家庭网络

# GeoIP China
- GEOIP,CN,DIRECT

- MATCH,MATCH

简单解释一下配置文件里面的几个我觉得需要说明的

1、这个是自定义hosts,比如华硕路由器的地址,'router.asus.com',即便你输入192.168.1.1,他也会做个跳转,导致无法访问,在hosts自定义后就可以绑定地址和ip了
hosts:
  'router.asus.com': 192.168.1.1

2、这里要填写你的家庭内网地址,大部分人应该都是192.168,按照我这个来就行了,16是掩码,如果不是这个地址多半应该也懂什么掩码
IP-CIDR,192.168.0.0/16,家庭网络

访问自己的家庭网络

配置好配置文件后,就可访问自己的家庭网络了,另外有一些人有连接内网设备ssh的需求,我这里讲解一下,如果要ssh进内网设备要怎么做


为什么不要使用DMZ

DMZ,是把用户指定的一台设备的全部端口,转发到路由器上,让用户面临着极大的网络风险,仅仅去为了暴露几个端口是完全不值得的,这将极大的增加网络安全风险

我的建议

1、不要使用路由器拨号,就使用运营商提供的光猫拨号即可(运营商让你用光猫拨号真的是为你好),让自己的路由器上的端口隐藏在光猫之下,多一重网络保障,不要盲目的追求减少一层nat,把自己需要暴露的端口转发出来即可

这是我的端口转发纪录,没有光猫在外面挡着(我手动只转发了几个端口在光猫上),这些端口就直接暴露在公网上了

现在我的公网只暴露clash的端口,和P2P下载所需的端口,所有内网地址都可以通过clash分流访问(群晖,路由器,aria2,qbittorrent,sonarr,emby等等,都可以在不做端口转发到公网的情况下在外网访问)

2、少听koolshare论坛的人的一些高论,点开他们的主题列表你会发现除了伸手问问题外没有任何贡献,却非常喜欢指点江山和人身攻击。某些人是真的恶臭,难怪那么多大神都出走了,戾气真重,贡献没有嘴炮第一

3、本文上手还是有些难度的,如果没有用过上述两个工具的人可能会比较难上手,用过的人自然就能照着教程配置起来,用起来也得心应手,不懂的就多学多问,而不是上来就开喷,有什么问题可以在下面问我



1.515648s