netmaker icon indicating copy to clipboard operation
netmaker copied to clipboard

[Bug]: Add a External Client , netmaker wrong

Open zhwk opened this issue 3 years ago • 4 comments

Contact Details

[email protected]

What happened?

use docker-compose traefik v0.14.2 Add a External Client docker restart netmaker netmaker's nm-*** interface status is wrong disable the ext.client is ok. change netmaker's docker image v0.14.1 is ok.

Version

v0.14.2

What OS are you using?

Linux

Relevant log output

netmaker       | [netmaker] 2022-06-09 06:41:20 error running command: wg set nm-office-vpn peer 18qNyKRgiNUh41AbMTWdCbeG8NF/VRC4XCS1FMgUwHA= persistent-keepalive 20 allowed-ips 10.66.110.1/32,<nil> 
netmaker       | [netmaker] 2022-06-09 06:41:20 Unable to parse IP address: `<nil>' 
netmaker       | 2022/06/09 06:41:20 error setting peer 18qNyKRgiNUh41AbMTWdCbeG8NF/VRC4XCS1FMgUwHA=
netmaker       | [netmaker] 2022-06-09 06:41:20 exit status 1 
#####################
in docker
~ # wg show
interface: nm-office-vpn
  listening port: 36025

Contributing guidelines

  • [X] Yes, I did.

zhwk avatar Jun 09 '22 06:06 zhwk

unable to reproduce, need additional information. Is 10.66.110.1 an external client?

afeiszli avatar Jun 16 '22 15:06 afeiszli

yes what more can i log?

zhwk avatar Jun 16 '22 15:06 zhwk

please reproduce the issue and tell us steps to reproduce. Also, how you deployed netmaker / what environment (cloud, OS) it is in

afeiszli avatar Jun 16 '22 17:06 afeiszli

部署环境: DDNS动态公网IP,路由映射8443/tcp 55000/udp端口到服务器192.168.88.10,服务器中部署netmaker. 针对DDNS所做修改: docker中添加jq sqlite3, endpoint.sh 自动修改ddns变更后的ip和锁定netmaker自身udp端口,如ip变更,修改db并kill netmaker强制容器重启。 Dockerfile: FROM gravitl/netmaker:v0.14.2

RUN sed -i 's/dl-cdn.alpinelinux.org/mirrors.ustc.edu.cn/g' /etc/apk/repositories
&& apk add jq sqlite WORKDIR /root/ COPY *.sh ./ RUN chmod +x *.sh

EXPOSE 8081 EXPOSE 50051 ENTRYPOINT ["./run.sh"]

run.sh #! /bin/sh

./endpoint.sh & ./netmaker

endpoint.sh

#! /bin/sh

while true ; do

_fun(){ node='{"'privatekey'":"'$i'"}' port=$2 CON1=$ltip CON5=sqlite3 $sqldata "select key from serverconf where value='$node';" CON2=sqlite3 $sqldata "select value from nodes where key='$CON5';" CON3=echo "$CON2" | jq -r .endpoint CON4=echo "$CON2" | jq -r .listenport if [ $CON1 != $CON3 -o $CON4 != "$port" ];then value=echo $CON2 | jq -c --arg v $ltip --argjson v1 $port '.endpoint=$v|.listenport=$v1|.udpholepunch="no"' sqlite3 $sqldata "update nodes set value='$value' where key='$CON5';" rst=1
fi }

sqldata="/root/data/netmaker.db" ltip=nslookup ****.***.cn 2>/dev/null | grep Address: | sed '1d' | sed 's/Address://g' | sed 's/^[ ]*//g' if [ "$ltip" != "" ]; then port=55000 rst=0 pri=wg show all private-key | awk '{print $2}' for i in $pri;do _fun $i $port port=$(($port+1)) done if [ $rst = 1 ] ;then pid=pidof netmaker kill -9 $pid fi fi

sleep 30s done


netmaker v0.14.1中 所有功能正常,运行正常,v0.14.2中除添加ext.client客户端外其他功能正常,停用新加的ext.client客户单后,其他功能也恢复正常,同样的配置回退到v0.14.1,所有功能正常。

zhwk avatar Jun 17 '22 09:06 zhwk

cannot duplicate in v0.16.0

mattkasun avatar Sep 26 '22 18:09 mattkasun

最近忙,先关闭了,有时间我在v0.16.0下测试看

zhwk avatar Sep 27 '22 15:09 zhwk