软硬件环境

设备

CPU(s) 12 x Intel(R) Xeon(R) CPU E5-2620 0 @ 2.00GHz
内核版本 Linux 5.15.102-1-pve #1 SMP PVE 5.15.102-1 (2023-03-14T13:48Z)
PVE管理器版本 pve-manager/7.4-3/9002ab8a
网络环境 河北联通 爱快路由拨号
操作系统 Ubuntu22.04 CT容器
分配 内存8G swap2G 6核心

前期准备

NAT1

网络环境必须为NAT1类型,推荐使用猫点饭查看
NAT1

NAT1教程(爱快路由器)【改桥接有风险】

1.

使用电脑直连光猫,进入超级管理员页面(联通的是http://192.168.1.1/cu.html)

2.

超级管理员页面下,依次点击:状态->网络侧信息->IPv4连接信息,记录下PPPoE模式所有内容,例如:“2_INTERNET_R_VID10”。一定要记录下账号!!!联通的密码可以通过手机营业厅更改。

3.

在“连接名称”处选择“新建WAN连接”,“模式”处选择“Bridge”,端口绑定选择“LAN1”;
注:第2、3步非常重要,记得备份,第三步的新建连接可以在原有的上面更改。

4.

使用路由器直连光猫的LAN1口(上面选的),打开路由器页面,此处以爱快示例,填入PPPoE账号和密码
PPPoE

5.

此时成功使用路由器拨号,依次打开:系统设置->基础设置,调整上网模式为NAT1
风险提示: 此模式下网络安全风险较高,请谨慎选择

穿透

穿透软件 ——-
来自github用户Mike Wang

实际应用

本次实际应用为我的网盘

教程实现

本次使用Natter软件内的nginx-cloudflare
进入文件目录,给所有文件权限

1
2
cd Natter-master/natter-docker/nginx-cloudflare/
chmod 777 *

使用vim修改内容 cf-redir.py
cf_redirect_to_https 值保持不变(HTTPS协议需要支持)
cf_redirect_host 值修改为您的“跳转域名”。
cf_direct_host 值修改为您的“直连域名”。
例如,跳转域名是jump.xxx.com,直连域名是get.xxx.com,在网站或其他地方只使用jump的域名,点击后自动跳转到get的域名上,直连域名是实际域名。
cf_auth_email 值修改为您的 CloudFlare 邮箱。
cf_auth_key 值修改为您的 CloudFlare API Key。获取方式:
登录 CloudFlare
进入 https://dash.cloudflare.com/profile/api-tokens
点击 Global API Key 右侧「查看」按钮

vim使用i开始输入点击esc后输入:wq保存并退出。

1
vim cf-redir.py

使用vim修改内容 docker-compose.yml
第三行的5244改为本机需要映射的端口号
将宿主机的8080端口映射到容器的80端口
倒数第五行的端口号改为xxx:第三行的端口号(xxx我的使用过程中没发现有任何占用)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
services:
natter-nginx-cf:
command: -e /opt/cf-redir.py -p 5244
volumes:
- ./cf-redir.py:/opt/cf-redir.py
environment:
- TZ=Asia/Shanghai
network_mode: host
image: nattertool/natter
restart: always
depends_on:
- nginx

nginx:
volumes:
- ./html:/usr/share/nginx/html
ports:
- "443:5244"
environment:
- TZ=Asia/Shanghai
image: nginx
restart: always

输入命令docker compose up运行,出现下图OPEN样式即为成功!(码住的地方是ip和域名)
NAT
此时通过跳转域名可直接访问 网站:端口

结语

这次任务主要是为了完成我的网盘的ipv4直连访问,结果从晚上8点干1点了,踩了好几个坑,给我网盘还重装了东西全没了.
┭┮﹏┭┮
不过还是要感谢github的大神!
第一次写这种东西,有问题的希望提一提建议之类的…….