首页
Search
1
v2ray异常错误之二
3,310 阅读
2
linux时区设置
2,698 阅读
3
DB2常用操作
2,173 阅读
4
websphere修改jvm内存xmx和xms
1,929 阅读
5
nfs客户端文件属主为nobody的现象
1,552 阅读
技术
生活
运动
游戏
电影
登录
Search
标签搜索
docker
linux
troubleshooting
nginx
secure
truenas
mysql
windows
python
esxi
docker swarm
oracle
zabbix
tomcat
blog
dsm
群晖
rpa
freenas
db
yuc
累计撰写
291
篇文章
累计收到
0
条评论
首页
栏目
技术
生活
运动
游戏
电影
页面
搜索到
2
篇与
的结果
2025-06-04
vsftp在openvpn下的使用问题
存在的问题 客户端在登陆vpn后访问ftp的流量会全部从vpn服务端的网络通过,所以登陆ftp是没有问题的,但如果此时使用主动模式,接下来的数据流量ftp服务端会主动连接客户端,这时网络会出现下面两种可能性: 如果ftp直连客户端的ip端口,很大概率无法访问,因为他们彼此没有建立过登陆连接,并且在nat这种场景下,很大可能网络也不通 如果ftp直连vpn的ip端口,那么vpn服务端是不知道这个连接要转发到客户端的,此时也无法建立正常的数据链接 所以可以得出结论,客户端在登陆vpn后无法使用主动模式使用ftp 被动模式 基于上面的问题,我们需要通过被动模式来使用ftp,被动模式仍然是客户端主动与服务端建立链接,这样就避免了路由、nat等问题 windows的cmd问题 windows的原生cmd并不支持被动模式,即使使用了 quote pasv,通过抓包可以证明 可以看到在执行指令切换到被动模式,但是后续仍然没有使用新的端口主动连接服务端
2025年06月04日
4 阅读
0 评论
0 点赞
2024-04-25
vsftpd编译安装
目的 本次编译安装是为了解决vsftpd的日志 /var/log/xferlog 记录的日志不能显示中文的问题 步骤 在官网下载源码包 解压 安装依赖包 yum -y install gcc gcc-c++ db4-utils pam-devel libcap openssl-devel libcap-devel tcp_wrappers-devel 修改支持pam, tcp_wrapper, ssl, 修改xferlog支持中文,修改编译一定会出现的错误(无法创建普通文件“/usr/local/man/man8/vsftpd.8”:没有那个文件或目录) ] 修改源码文件builddefs.h对应三行的undef为define 修改源码文件logging.c,str_replace_unprintable(p_str, '?'); 这一行,注意注释方式 修改源码文件Makefile最后几行,修改如下,只需要修改/usr/local/man和/usr/share/man就行了 make && make install 编译安装 复制Redhat/vsftpd.pam到/etc/pam.d/vsftpd 配置服务脚本 #!/bin/bash # # vsftpd This Shell script takes care of starting and stopping # standalone vsftpd. # # chkconfig: - 60 50 # description: Vsftpd is a ftp daemon, which is the program # that answers incoming ftp service requests. # processname: vsftpd # config: /etc/vsftpd/vsftpd.conf # Source function library. . /etc/rc.d/init.d/functions # Source networking configuration. . /etc/sysconfig/network # Check that networking is up. [ ${NETWORKING} = "no" ] && exit 0 [ -x /usr/local/sbin/vsftpd ] || exit 0 RETVAL=0 prog="vsftpd" start() { # Start daemons. if [ -d /etc/vsftpd ] ; then for i in `ls /etc/vsftpd/*.conf`; do site=`basename $i .conf` echo -n $"Starting $prog for $site: " /usr/local/sbin/vsftpd $i & RETVAL=$? [ $RETVAL -eq 0 ] && { touch /var/lock/subsys/$prog success $"$prog $site" } echo done else RETVAL=1 fi return $RETVAL } stop() { # Stop daemons. echo -n $"Shutting down $prog: " killproc $prog RETVAL=$? echo [ $RETVAL -eq 0 ] && rm -f /var/lock/subsys/$prog return $RETVAL } # See how we were called. case "$1" in start) start ;; stop) stop ;; restart|reload) stop start RETVAL=$? ;; condrestart) if [ -f /var/lock/subsys/$prog ]; then stop start RETVAL=$? fi ;; status) status $prog RETVAL=$? ;; *) echo $"Usage: $0 {start|stop|restart|condrestart|status}" exit 1 esac exit $RETVAL 因为版本较高,安全性不同,如果用户被限制在了主目录下,那么这个用户不应该有主目录的写权限,报错 500 OOPS: vsftpd: refusing to run with writable root inside chroot () 解决办法: a. 设置主目录不可写 b. 配置allow_writeable_chroot=YES
2024年04月25日
7 阅读
0 评论
0 点赞