网络连接设置(23.12.10)
由于是宿舍环境,搭建这个服务器的初衷是一次试探,一次尝试,因此我认为并没有长时间运行的需要,对于服务器的使用我是即用即唤醒,那么这个网络我就设置为即用即连。
双网口
最开始的想法是,本人的主力机使用双网口,一个网口A连接校园网,另一个网口B共享A的网络,连接服务器。这样就可以让服务器也有网络。
由于校园网认证使用的是锐捷客户端,它对于双网口并没有很好的支持。体现为网口A连接校园网成功,网口B共享A后,锐捷客户端无法分辨是哪个网口连接校园网,导致认证失败。
我认为这是由于锐捷客户端无法指定使用哪个网口连接到认证服务器。
网上搜索到一位学生开发的认证工具mentohust,支持锐捷的认证,并且支持指定网卡。
但是网上搜寻到的信息基本是在2020年之前的。
再去看了一眼学校的校园网认证的软件,这个的发布日期是在2016年,似乎是优势在我。
大部分关于windows的mentohust软件都是失效的,最后找到一个针对肇庆学院制作的一个项目。
出现问题
>> 发送用户名...
>> 发送密码...
** 客户端版本:3.95 适用:Windows 类型:2
!! 该版本没有客户端校验。
>> 认证失败!
$$ 系统提示: 锐捷客户端版本过低!请下载最新版的客户端软件,下载地址https://cmet.fjut.edu.cn/
网上查找相关错误,由于zqu.mpf是针对对方校园网的,需要自行抓包。
但是使用mentohust-Tool抓取到的认证信息是有问题的。
网上查找相关错误,解决方法是使用16进制编辑器修改文件头。
但是在编辑器里并没有查找到相符合的片段。
最终放弃这个方法。
网络桥接
双网口方案,但是网口A和B进行桥接,A是主力机和校园网相连,B是主力机和服务器相连。
通过网络桥接,使得服务器虚拟成直接和校园网相连。
但是有线方式连接校园网需要物理网卡mac地址绑定,也就是只能有一台电脑有线连接校园网。
于是放弃这个方法。
但是后来搜索到mac地址克隆的方法,没试过。
题外话
宿舍这边连接校园网需要mac地址,但是实验室那边登录校园网没有这个问题。
怪。
USB无线网卡+网口
双网口的方法本质是为服务器提供互联网连接。
而我的主力机和服务器通过网线连接是局域网连接。
那么我就可以让服务器使用无线网卡,主力机通过局域网+远程桌面连接服务器,然后再开启无线网卡连接校园网。
我有一个闲置的USB无线网卡,但是驱动只支持winbdows。
最后选择windows+wsl,这样就能使用USB无线网卡了。
外网访问设置(24.02.13)
没有公网IP
三个步骤:
1、使用内网穿透工具,将本地的端口暴露出来
2、使用域名,设置域名CNAME
3、使用域名+端口访问网站
资源
域名
免费获取一个域名,链接 0元注册域名-硅云
内网穿透
内网穿透工具。
需要花一块钱做一个实名认证。
说明
域名买到了,但是域名是没有备案的,要备案需要有域名+服务器,其实就是访问域名,看你这个网站是干嘛的。
但是我服务器外网是访问不到的,没有公网IP。
导致说域名和服务器是连不上的。
那这里就用上了内网穿透。但是如果是要配置http(s),需要有自己的已备案的域名。国内节点需要已备案的域名。其他的就速度很慢。
如果选择TCP,这个就需要工具提供的域名(IP)+端口号访问。这个选项自己的域名是不必要的,也不需要备案,可以选择用A记录将域名指向IP或者是CNAME记录设置自己域名的别名为穿透工具提供的域名。
配置
搭建http(s)网站(需要备案域名)
需要选择有建站标识隧道
搭建TCP
ipv6和端口复用(24.02.16)
由于我找到的内网穿透工具只能映射两个端口,我担心不够用,所以再去找了其他方法。
1、使用ipv6公网
2、通过nginx实现端口复用
3、购买云服务器,实现端口映射
4、使用多个内网穿透工具的免费隧道
ipv6
首先,使用IPv6 测试 (test-ipv6.com)判断自己的网络是否支持ipv6。
IPv6地址中, 240e开头是电信,2048开头是联通,2409开头是移动,FE80开头是内网地址 。
我没有使用路由器,房间里自带网口,检测后ipv6地址是2409开头。
开启win10的远程桌面,测试[ipv6地址]:port判断是否能访问,但是不行。
网上的说法是运营商那边的防火墙可能会拦截端口。
然后又试着使用手机热点,可以查看手机的状态信息看到手机的ipv6地址。连接热点的有一台电脑和一台手机,电脑开启远程桌面,手机使用rd client进行远程桌面访问,在热点内成功,接下来手机不连接热点,使用移动数据,尝试连接远程桌面,失败。
ipv6公网的方案失败。
nginx端口复用
使用nginx的反向代理的方法。
server {
listen 80; #website1 监听端口
server_name 127.0.0.1; #website1 绑定域名
location / {
root html;
index index.html index.htm;
}
location /test/ {
proxy_pass https://127.0.0.1:8006/;
}
}
通过这样的设置,http://127.0.0.1/test/会指向https://127.0.0.1:8006/。注意8006后面带了个/,这样就不会去访问https://127.0.0.1:8006/test/。
但是8006这个端口的网站是pve的管理界面,存在css js等静态资源,比如本来访问一个静态资源https://127.0.0.1:8006/test.js,在反向代理不会去替换host,而是去访问http://127.0.0.1/test.js。
可以再新建一个location匹配css js后缀来解决,但是如果http://127.0.0.1/也有静态资源的话也会被影响到。
云服务器
有了公网IP后自己去搭建FRP实现端口映射,但不必要,会花钱。
多个内网穿透工具
看上去一个工具有一个隧道免费,那就多找几个工具就可以了。