树莓派配置内网穿透并开机启动

1、注册一个natapp账号

https://natapp.cn/

2、下载natapp程序并解压

cd /usr/

sudo mkdir natapp

cd natapp

sudo wget http://download.natapp.cn/assets/downloads/clients/2_3_9/natapp_linux_arm_2_3_9.zip

sudo unzip natapp_linux_arm_2_3_9.zip

3、赋权

sudo chmod a+x /usr/natapp/natapp

4、创建配置文件

sudo nano config.ini

#将本文件放置于natapp同级目录 程序将读取 [default] 段
#在命令行参数模式如 natapp -authtoken=xxx 等相同参数将会覆盖掉此配置
#命令行参数 -config= 可以指定任意config.ini文件
[default]
authtoken=      #对应一条隧道的authtoken
clienttoken=    #对应客户端的clienttoken,将会忽略authtoken,若无请留空,
log=none        #log 日志文件,可指定本地文件, none=不做记录,stdout=直接屏幕输出 ,默认为none
loglevel=ERROR  #日志等级 DEBUG, INFO, WARNING, ERROR 默认为 DEBUG
http_proxy=     #代理设置 如 http://10.123.10.10:3128 非代理上网用户请务必留空

5、下载启动脚本并赋权755

cd /etc/init.d/

sudo nano natapp

粘贴以下内容

#!/bin/sh -e
### BEGIN INIT INFO
# Provides:          natapp.cn
# Required-Start:    $network $remote_fs $local_fs
# Required-Stop:     $network $remote_fs $local_fs
# Default-Start:     2 3 4 5
# Default-Stop:      0 1 6
# Short-Description: autostartup of natapp for RaspberryPi
### END INIT INFO


NAME=natapp
DAEMON=/usr/natapp/$NAME
PIDFILE=/var/run/$NAME.pid

[ -x "$DAEMON" ] || exit 0

case "$1" in
  start)
      if [ -f $PIDFILE ]; then
        echo -n "$NAME already running"
        echo "."
    else
        echo "Starting $NAME..."
	    start-stop-daemon -S -x $DAEMON -p $PIDFILE -m -b -o -q || return 2
        echo "."
    fi
    ;;
  stop)
            echo "Stoping $NAME..."
        start-stop-daemon -K -p $PIDFILE -s TERM -o -q || return 2
        rm -rf $PIDFILE
        echo "."
    ;;
  restart)
    $0 stop && sleep 2 && $0 start
    ;;
  *)
    echo "Usage: $0 {start|stop|restart}"
    exit 1
    ;;
esac
exit 0

sudo chmod 755 /etc/init.d/natapp

6、加入开机启动

sudo update-rc.d natapp defaults 90

7、其他相关命令

sudo /etc/init.d/natapp start    #开启
sudo /etc/init.d/natapp stop     #关闭
sudo /etc/init.d/natapp restart  #重启
cd /etc/init.d
sudo update-rc.d natapp defaults 90    #加入开机启动
sudo update-rc.d -f natapp remove  #取消开机启动