frp 搭建内网穿透服务
什么是内网穿透
什么时候需要用内网穿透?
无公网IP时,需要将本地服务器和应用服务,提供到互联网访问时,就需要使用内网穿透的方法。
内网穿透和DDNS的区别
DDNS(动态域名解析)指的是直接将域名解析到家用路由器上, 然后路由器实现端口转发, 从而实现通过域名访问内网中的服务器的目的.
内网穿透和DDNS都是为了让内网的设备被公网访问。
两者的区别:
- 是否需要公网服务器? 内网穿透需要, DDNS不需要
- 稳定性, ddns因为使用的家庭宽带ip, 其他地区的用户可能访问不了, 内网穿透因为需要运营商的公网ip, 正常网站可访问的地方都可以访问
frp
开源地址: https://github.com/fatedier/frp.git
文档地址: https://gofrp.org/docs/
配置稍微负责点点~但是比较稳定
nps
配置简单, 并带有web配置界面.
可惜的是,截止到目前已经有2年时间没维护了~~
frp自启动配置
# 服务端
# /etc/systemd/system/frps.service
[Unit]
Description=FRP Server Daemon
[Service]
Type=simple
AmbientCapabilities=CAP_NET_BIND_SERVICE
ExecStart=/opt/bin/frps -c /opt/etc/frps.ini
Restart=always
RestartSec=2s
User=root
LimitNOFILE=infinity
[Install]
WantedBy=multi-user.target
# 客户端
# /etc/systemd/system/frpc.service
[Unit]
Description=FRP Client Daemon
After=network.target
Wants=network.target
[Service]
Type=simple
ExecStart=/opt/bin/frpc -c /opt/etc/frpc.ini
Restart=always
RestartSec=20s
User=root
LimitNOFILE=infinity
[Install]
WantedBy=multi-user.target
# 使用下面命令操作
systemctl daemon-reload
systemctl enable frpc
systemctl status frpc
systemctl enable frps
systemctl status frps
# centos 6.5 init.d script
# centos 6.5 客户端环境下配置后台自启
#!/bin/bash
# chkconfig: - 85 15
# # description: frp init script
RETVAL=0
PROG="frpc"
EXEC="/usr/bin/frpc"
LOCKFILE="/var/lock/subsys/$PROG"
OPTIONS="-c /etc/frp/frpc.ini"
# Source function library.
if [ -f /etc/rc.d/init.d/functions ]; then
. /etc/rc.d/init.d/functions
else
echo "/etc/rc.d/init.d/functions is not exists"
exit 0
fi
start() {
if [ -f $LOCKFILE ]
then
echo "$PROG is already running!"
else
echo -n "Starting $PROG: "
#$EXEC $OPTIONS &
nohup $EXEC $OPTIONS >/dev/null 2>&1 &
RETVAL=$?
[ $RETVAL -eq 0 ] && touch $LOCKFILE && success || failure
echo
return $RETVAL
fi
}
stop() {
echo -n "Stopping $PROG: "
killproc $EXEC
RETVAL=$?
[ $RETVAL -eq 0 ] && rm -r $LOCKFILE && success || failure
echo
}
restart ()
{
stop
sleep 1
start
}
case "$1" in
start)
start
;;
stop)
stop
;;
status)
status $PROG
;;
restart)
restart
;;
*)
echo "Usage: $0 {start|stop|restart|status}"
exit 1
esac
exit $RETVAL
最后更新于 2023-03-13 14:50:56 并被添加「」标签,已有 604 位童鞋阅读过。
本站使用「署名 4.0 国际」创作共享协议,可自由转载、引用,但需署名作者且注明文章出处
此处评论已关闭