用nat123进行端口映射和定时任务
局域网中有一台服务器,在外网访问时要用端口映射方法,方法有很多,什么路由器设置、花生壳啊都可以,但我用的是nat123。如果nat123客户端在局域网内意外关闭,而你又在遥运的地方又怎么办?所以有必要写一个定时任务来监控nat123服务。
服务器系统:ubuntu 其它系统照着抄,照着改。
1.nat123的安装见官方文档(linux部分):http://www.nat123.com/pages_17_600.jsp
运行环境安装:
apt-get install mono-complete
这个 mono 的作用是在 linux 下能执行 windows 系统的代码,能运行 .dll 文件。
mono -V ——查看安装运行环境版本信息,注意是大写的V字母
客户端安装:
#cd /opt --将opt换成是自己本地实际目标安装目录 #mkdir nat123 --创建一个nat123文件夹 #cd /nat123 --在新创建文件夹下执行安装等操作 #wget http://www.nat123.com/down/nat123linux.tar.gz --下载安装包。过程中可能会有转跳提示,忽略它。 # tar -zxvf nat123linux.tar.gz --解压本地目录
客户端启动及后台服务启动:
#cd /opt/nat123 --将opt/nat123换成是自己本地实际安装目录 #mono nat123linux.sh --运行客户端,并按提示依次输入自己的帐号和密码 #登录成功正常后,如退出关闭当前进程,需重新以后台服务启动确保nat123的正常运行。 #客户端后台服务启动(需要先参与上面的输入帐号密码登录成功记录为前提) #cd /opt/nat123 --将opt/nat123换成是自己本地实际安装目录 #mono nat123linux.sh service & --后台服务方式启动,自动读取上次成功登录帐号 #通过service后台服务方式登录后,该干嘛干嘛的,不影响其他操作,可以ps查看nat123状态 #ps -ef|grep nat123
nat123 的启动文件:/opt/nat123/nat123linux.sh
我的家目录是在:/home/ubuntu
家目录下新建文件:nat123start.sh
#!/bin/bash PIDS=`ps -ef | grep nat123 | grep -v grep | awk '{print $2}'` if [ "$PIDS" == "" ]; then cd /opt/nat123 sudo mono ./nat123linux.sh service & fi
ubuntu 定时任务:
#编辑crontab文件,用来存放你要执行的命令第一次用这个命令,
#会让你选择文本编辑器,我选的是vim #输入数字选择就是了! sudo crontab -e
#添加如下内容
*/1**** /home/ubuntu/nat123start.sh --每分钟执行一次任务
#重启cron来应用这个计划任务 sudo service cron restart
开机自启动:
添加的内容:/home/ubuntu/nat123start.sh
ubuntu 自启动:vim /etc/rc.local 在 “exit 0” 前添加启动脚本 chmod +x /etc/rc.local centos 自启动:vim /etc/rc.d/rc.local chmod +x /etc/rc.d/rc.local