From 6788a875a24eef5d89f7d0a1937f786f2c604713 Mon Sep 17 00:00:00 2001 From: bjdgyc Date: Tue, 24 Oct 2023 17:49:13 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 2 +- build.sh | 1 + docker/Dockerfile | 1 + server/handler/link_tun.go | 18 ++++++++++++++---- web/src/pages/set/Other.vue | 5 ++++- 5 files changed, 21 insertions(+), 6 deletions(-) mode change 100755 => 100644 build.sh diff --git a/README.md b/README.md index e5fb56a..0f48b70 100644 --- a/README.md +++ b/README.md @@ -284,7 +284,7 @@ ipv4_end = "10.1.2.200" -c=/etc/server.toml --ip_lease=1209600 # IP地址租约时长 ``` -7. 构建镜像 +7. 构建镜像 (非必需) ```bash #获取仓库源码 diff --git a/build.sh b/build.sh old mode 100755 new mode 100644 index 8abf20e..c959803 --- a/build.sh +++ b/build.sh @@ -52,6 +52,7 @@ cp -r server/conf $deploy cp -r systemd $deploy cp -r LICENSE $deploy +cp -r home $deploy tar zcvf ${deploy}.tar.gz $deploy diff --git a/docker/Dockerfile b/docker/Dockerfile index b1a5cea..9abbcac 100644 --- a/docker/Dockerfile +++ b/docker/Dockerfile @@ -34,6 +34,7 @@ COPY docker/docker_entrypoint.sh /app/ #COPY ./server/bridge-init.sh /app/ COPY ./server/conf /app/conf COPY ./LICENSE /app/LICENSE +COPY ./home /app/home #TODO 本地打包时使用镜像 diff --git a/server/handler/link_tun.go b/server/handler/link_tun.go index 0ba7c76..cbe4415 100644 --- a/server/handler/link_tun.go +++ b/server/handler/link_tun.go @@ -22,22 +22,32 @@ func checkTun() { defer ifce.Close() // 测试ip命令 - cmdstr := fmt.Sprintf("ip link set dev %s up mtu %s multicast off", ifce.Name(), "1399") - err = execCmd([]string{cmdstr}) + cmdstr0 := fmt.Sprintln("modprobe -i tun") + cmdstr1 := fmt.Sprintf("ip link set dev %s up mtu %s multicast off", ifce.Name(), "1399") + err = execCmd([]string{cmdstr0, cmdstr1}) if err != nil { base.Fatal("testTun err: ", err) } //开启服务器转发 if err := execCmd([]string{"sysctl -w net.ipv4.ip_forward=1"}); err != nil { - base.Error(err) + base.Fatal(err) } if base.Cfg.IptablesNat { //添加NAT转发规则 ipt, err := iptables.New() if err != nil { - base.Error(err) + base.Fatal(err) return } + + //修复 rockyos nat 不生效 + cmdstr0 := fmt.Sprintln("modprobe -i iptable_filter") + cmdstr1 := fmt.Sprintf("modprobe -i iptable_nat") + err = execCmd([]string{cmdstr0, cmdstr1}) + if err != nil { + base.Fatal("testTun err: ", err) + } + natRule := []string{"-s", base.Cfg.Ipv4CIDR, "-o", base.Cfg.Ipv4Master, "-j", "MASQUERADE"} forwardRule := []string{"-j", "ACCEPT"} if natExists, _ := ipt.Exists("nat", "POSTROUTING", natRule...); !natExists { diff --git a/web/src/pages/set/Other.vue b/web/src/pages/set/Other.vue index d7375bf..84b0b5c 100644 --- a/web/src/pages/set/Other.vue +++ b/web/src/pages/set/Other.vue @@ -248,11 +248,14 @@ + + +