ftp被动模式可登陆 dir/ls超时卡死解决办法 (227 Entering Passive Mode (1,2,3,4,8,174))

和xx监狱ftp传输对账文本,投产后对方ftp能登陆但始终不能dir/ls,(
会出现超时卡死 )并且报227 Entering Passive Mode (1,2,3,4,8,174)。

找了很久资料发现,对方ftp server返回的227代码内1,2,3,4->1.2.3.4 ip是其内网ip,与我们实际访问的专线对端ip地址(2.3.4.5)不一致。这导致登陆后ftpserver指定的访问ip我们实际是不能访问的。监狱方使用的是vsftp。尝试沟通让对方配置文件进行修改:

/etc/vsftpd.conf:pasv_address= 2.3.4.5 。然后就成功解决。原理如下:

我们可以看到如上图,ftp被动模式下正常登陆并数据交互的标准流程代码,根据FTP协议的定义,在请求目录信息时,我们需要一个用于文件及目录数据获取的IP地址和端口,FTP服务器将采用227命令来回复已准备好连接的IP地址和端口【前四位是ip,第五位*256+第六位 是端口】,然后我们则根据返回的IP地址和端口进行连接,连接成功后,再等待ftp服务器返回150命令字并开始传送文件/目录数据

冲突在于:默认情况下返回的是内网实际ip,我们实际能请求访问的是转换后的专线入口地址,处于外网的我们当然无法直接访问监狱的内网。

至此生产问题解决,但是在查资料过程中还有额外收获一并记录分享。

1、因为是命令行请求没那么智能,发现有网友提到这种情况下,使用专用ftp客户端登录时,227多次请求无法访问该地址后,会智能尝试替换成为登陆成功时用的主机地址(即我们这里的专线地址)。 所以有时候用客户端登陆却又是没问题的。

2、刚刚我们生产问题解决的方案其实是有隐患的,
/etc/vsftpd.conf:pasv_address= 2.3.4.5 设置后该ftp所有账户全局只能通过分配给我行的专线入口ip才能进行文件数据传输操作,因为227指令会始终推
2.3.4.5 这个分配给我行的专线ip。由于监狱方配置文件修改较为困难且当前项目为我行独有中标,便未进一步推进狱方配置优化。仍在此记录优化方案以便不时之需:

配置思路为将全局配置改为单用户配置,重置前述配置修改:
①在狱方ftp服务器上的VSFTP配置文件(/etc/vsftpd.conf)中加入以下一行,打开用户独立配置功能:
user_config_dir=/etc/vsftpd/userconfig#指定单用户配置文件路径
②在狱方服务器(/etc/vsftpd/userconfig)路径下新建一个和FTP用户名的文件,写入如下内容:
pasv_addr_resolve=yes
pasv_address=2.3.4.5

3、如果ftpserver 是绑定动态域名和端口转发 的, pasv_addr_resolve=yes 一定要设置为yes

4、 listen = YES和listen_ipv6 = YES 配置不当会冲突。
同时开启传入的连接被解释为IPv6地址,因此IPv4 pasv_address未使用 ,一般情况下建议ipv6注释掉

以上很多细节tips均源于网络,这里只是顺带集合整理,具体外链不一一列举。

openssl make 编译报错undefined reference to `BIO_f_zlib’

最近需要使用国密SM4加密算法,综合评估下来将openssl升级到1.1.1版本即可,遂开启升级模式期间编译时有报错:

undefined reference to `BIO_f_zlib’
ld return 1 exit result

解决方案:

make clean
make //重新编译

顺道记录下升级步骤:

下载源码

解压缩

tar xzvf openssl-1.1.1-pre4.tar.gz
tar xzvf openssl-1.1.1-pre5.tar.gz

编译步骤

cd openssl-1.1.1-pre5
./config
make

本地安装(可选步骤)

sudo make install

配置LD_LIBRARY_PATH并检查openssl可执行程序版本号

$ export LD_LIBRARY_PATH=`pwd` 
$ ./apps/openssl version

宝塔反向代理谷歌直接跳转并访问失败

宝塔反向代理谷歌时,所有配置正确的情况下还是会自动跳转到目标设置的google.com并且访问失败。

原因:谷歌会根据vps所在地进行当地域名的跳转,如香港vps会自动跳转到google.com.hk会导致反向代理失败

解决方案:反向代理目标谷歌域名使用vps当地谷歌域名即可,也就是说除美国之外的都不要直接用www.google.com域名作反代

一键安装openvpn

OpenVPN 安装并不是想像的那么难,更何况还有一键安装包呢?该 OpenVPN 一键安装包非本人维护,它真正的主人是 @Nyr ,开源地址是:https://github.com/Nyr/openvpn-install ,整个安装过程非常简单,就一条命令,根据提醒步骤安装既可。

适用平台:Debian、Ubuntu、CentOS,版本越新越好。该项目目前在Github上被打星6K多次,赶紧收藏吧。即使您之前没有使用OpenVPN,该脚本也可让您在一分钟内设置自己的VPN服务器。OpenVPN 安装就是这么简单。

继续阅读一键安装openvpn

隐藏WordPress后台登录地址,防暴力破解

1、WordPress后台默认登录地址是:/wp-login.php

2、修改隐藏WordPress默认后台登录地址

这个对于WordPress还是比较简单的,只需要在我们所使用的主题的functions.php文件最后一个?>前面添加以下代码即可实现。

  • //登录地址变更
  • add_action(‘login_enqueue_scripts’,’login_protection’);
  • function login_protection(){
  •     if($_GET[‘word’] != ‘press’)header(‘Location: http://blog.izhukai.cn/’); 
  • }

其中word、press可随意修改。

添加了上述代码后,我们站点的后台登录地址将会变成http://blog.izhukai.cn/wp-login.php?word=press,如果不是这个登录地址将会跳转到http://blog.izhukai.cn/。

PS:地址不对跳转的地址不一定是自己的站点,可以直接跳转到淘宝或其他比较复杂或缓慢的站点,让对方的电脑卡死也是一种不错的选择哦。

个人建议:

无论是WordPress还是zblog站点,修改好后台登录地址后,个人建议把修改后的登录地址直接添加到浏览器收藏夹或自己记住即可,没必要在前台添加后台登录地址按钮或链接。