缘由:公司这段时间要将原IPV4地址切换到IPV6,在环境配置的过程中,碰到一坑,平时不太注意的问题,在IPV6下却放大了
实现目标:在IPV6下,机器A可以FTP到机器B,可以传输、下载文件
A机器:2001:202:28:8:xxxx:xxxx:xxxx:108
B机器:2001:202:32:0:xxxx:xxxx:xxxx:57d9
1.从A机器FTP到BS机器
[root@svr0001 vsftpd]# ftp 2001:202:32:0:xxxx:xxxx:xxxx:57d9
ftp: connect: 权限不够
2.到B机器,先编辑一下IPV6防火墙,加入可以访问21端口
[root@localhost vsftpd]# vi /etc/sysconfig/ip6tables
加入 -A INPUT -m state --state NEW -m tcp -p tcp --dport 21 -j ACCEPT
3.再到A机器FTP到B机器
[root@svr0001 vsftpd]# ftp 2001:202:32:0:xxxx:xxxx:xxxx:57d9
ftp: connect: 拒绝连接
4、再回到B机器,修改VSFTP配置支持ipv6
[root@localhost vsftpd]#cd /etc/vsftpd
[root@localhost vsftpd]# ll
总用量 20
-rw-------. 1 root root 125 7月 24 2015 ftpusers
-rw-------. 1 root root 361 7月 24 2015 user_list
-rw-------. 1 root root 4599 7月 24 2015 vsftpd.conf
-rwxr--r--. 1 root root 338 7月 24 2015 vsftpd_conf_migrate.sh
[root@localhost vsftpd]#
[root@localhost vsftpd]# cp vsftpd.conf vsftpd_ipv6.conf
[root@localhost vsftpd]# vi vsftpd_ipv6.conf
修改
#listen=YES
listen_ipv6=YES
[root@localhost vsftpd]# service vsftpd restart
关闭 vsftpd: [确定]
为 vsftpd 启动 vsftpd: [确定]
为 vsftpd_ipv6 启动 vsftpd: [确定]
注意: ---好象vsftpd-2.0.5及以前版本不支持双配置文件,但vsftpd-2.2.2以后可以支持这种双配置文件,这时可以忽略这个失败,好象只配置listen_ipv6=YES,但也可以支持ipv4. 如下:
[root@bdc8165 temp_lg]# rpm -qa vsftpd
vsftpd-2.0.5-24.el5
[root@bdc8165 temp_lg]# service vsftpd restart
关闭 vsftpd: [确定]
为 ipv6_vsftpd 启动 vsftpd: [确定]
为 vsftpd 启动 vsftpd: [失败]
5.再到A机器FTP到B机器
[root@svr0001 vsftpd]# ftp 2001:202:32:0:xxxx:xxxx:xxxx:57d9
Connected to 2001:202:32:0:xxxx:xxxx:xxxx:57d9 (2001:202:32:0:xxxx:xxxx:xxxx:57d9).
220 (vsFTPd 2.2.2)
Name (2001:202:32:0:xxxx:xxxx:xxxx:57d9:root): sh_bdc
331 Please specify the password.
Password:
230 Login successful.
Remote system type is UNIX.
Using binary mode to transfer files.
ftp> ls
229 Entering Extended Passive Mode (|||18969|).
ftp: connect: 权限不够
ftp> ls
6.再到B机器,加入被动模式允许的端口
(注意如果打开了防火墙,防火墙的允许访问的规则中要加入这个范围的端口号)
[root@localhost vsftpd]# vi vsftpd_ipv6.conf
在最后加入:
pasv_enable=YES
pasv_min_port=3000
pasv_max_port=4000
[root@localhost vsftpd]# service vsftpd restart
7.再到A机器FTP到B机器
[root@svr0001 vsftpd]# ftp 2001:202:32:0:xxxx:xxxx:xxxx:57d9
Connected to 2001:202:32:0:xxxx:xxxx:xxxx:57d9 (2001:202:32:0:xxxx:xxxx:xxxx:57d9).
220 (vsFTPd 2.2.2)
Name (2001:202:32:0:xxxx:xxxx:xxxx:57d9:root): sh_bdc
331 Please specify the password.
Password:
230 Login successful.
Remote system type is UNIX.
Using binary mode to transfer files.
ftp> ls
229 Entering Extended Passive Mode (|||18969|).
ftp: connect: 权限不够
8.再到B机器,防火墙允许访问3000~40000端口
[root@localhost vsftpd]# vi /etc/sysconfig/ip6tables
# Firewall configuration written by system-config-firewall
# Manual customization of this file is not recommended.
*filter
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
-A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
-A INPUT -p ipv6-icmp -j ACCEPT
-A INPUT -i lo -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 21 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 20 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 3000:4000 -j ACCEPT
[root@localhost vsftpd]# service ip6tables restart
9.再到A机器FTP到B机器
[root@svr0001 vsftpd]# ftp 2001:202:32:0:xxxx:xxxx:xxxx:57d9
Connected to 2001:202:32:0:xxxx:xxxx:xxxx:57d9 (2001:202:32:0:xxxx:xxxx:xxxx:57d9).
220 (vsFTPd 2.2.2)
Name (2001:202:32:0:xxxx:xxxx:xxxx:57d9:root): sh_bdc
331 Please specify the password.
Password:
230 Login successful.
Remote system type is UNIX.
Using binary mode to transfer files.
ftp> ls
229 Entering Extended Passive Mode (|||3063|).
150 Here comes the directory listing.
drwxrwxr-x 5 506 507 4096 Jul 11 08:30 glusterfs_client
226 Directory send OK.
OK,完成!!
后记:
1.实在烦了,还是关掉防火墙吧:service ip6tables stop,除了第4步修改VSFTP配置支持ipv6外,没有其他步骤的事了。
2.其他注意事项
(1).fe80开头的 的本地地址,不在同一网段不行
(2).无线网络可能不支持ipv6,这要看你的路由器支不支持|
(3).linux下默认IPV6访问墙是打开的,且只支持21或22端口
先简单记录一下,后续再补充, zzw 2018.10.24