FTP、TFTP 实现 NAT ALG 访问

1. 环境

操作系统: CentOS 6.10
安装 ftp 服务:

rpm -ivh vsftpd-2.2.2-24.el6.x86_64.rpm

安装 tftp 服务:

rpm -ivh xinetd-2.3.14-40.el6.x86_64.rpm
rpm -ivh tftp-server-0.49-8.el6.x86_64.rpm

2. FTP NAT ALG 应用

ftp 服务配置

1. 配置为被动模式,指定监听端口范围
2. 默认ftp目录加权限:chown -R ftp:ftp /var/ftp/*
3. 网关指向对外防火墙
4. 关闭系统 selinux

对外防火墙配置

1. 对外映射 ftp 服务的 tcp 21 端口
2. 加载 alg 模块 modprobe nf_nat_ftp

配置文件示例
示例使用匿名用户登录,并有上传和下载权限。
cat /etc/vsftpd/vsftpd.conf

anonymous_enable=YES
anon_upload_enable=YES
anon_mkdir_write_enable=YES
anon_other_write_enable=YES
anon_umask=022

local_enable=YES
write_enable=YES
local_umask=022
dirmessage_enable=YES
xferlog_enable=YES
connect_from_port_20=YES
xferlog_std_format=YES
ascii_upload_enable=YES
ascii_download_enable=YES
listen=YES

pam_service_name=vsftpd
userlist_enable=YES

chroot_local_user=YES
use_localtime=YES

#tcp_wrappers=YES
port_enable=NO
pasv_enable=YES
pasv_min_port=6000
pasv_max_port=6010
#pasv_address=172.18.0.63

其他参数说明:
anon_root=/ftpfile   # 使用匿名登入时,指定所登入的目录
local_root=/ftpfile   # 当使用本地用户登入时,指定所登入的目录,默认为各用户家目录
use_localtime=YES  # 默认是GMT时间,改成使用本机系统时间

【主动模式】
pasv_enable=NO       # 关闭被动模式
port_enable=YES       # 打开主动模式 Default:YES
connect_from_port_20=YES  # 主动模式数据端口

【被动模式】
pasv_enable=YES   #打开被动模式
pasv_min_port=6000  #被动模式服务端监听端口范围
pasv_max_port=6010

FTP 主动模式 和 被动模式

PORT 主动模式:
1. 客户端告诉服务器自己的地址和开放的端口等待FTP服务器来建立连接(PORT报文)。
2. 服务器端主动用自己的IP地址加上端口20来和客户端建立数据连接。

PASV 被动模式:
1. 服务器告诉客户端自己的地址和开放的端口,等待客户端来建立连接(PASV报文)。
2. 客户端使用自己的IP地址加任意端口和服务器端建立数据连接。

3. TFTP NAT ALG 应用

tftp 服务配置

1. tftp配置可上传文件,指定监听端口范围
2. tftp目录加权限:chmod 777 -R /var/lib/tftpboot
3. 网关指向对外防火墙
4. 关闭系统 selinux

对外防火墙配置

1. 对外映射 tftp 服务的 udp 69 端口
2. 加载 alg 模块 modprobe nf_nat_tftp

配置文件示例
cat /etc/xinetd.d/tftp

service tftp
{
        socket_type             = dgram
        protocol                = udp
        wait                    = yes
        user                    = root
        server                  = /usr/sbin/in.tftpd
        server_args             = -s /var/lib/tftpboot -R 6020:6030 -c
        disable                 = no
        per_source              = 11
        cps                     = 100 2
        flags                   = IPv4
}

-R 指定端口范围
-c 允许上传文件
# 重启服务
service xinetd restart

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值