在做搭建ftp服务器的作业时,整了一个活,在不关闭SELinux的情况下测试ftp服务器

使用的环境,虚拟机*2 (CentOS 7),Hyper-v,网卡已设为静态

需要安装的软件包:

  • 服务器(下称server):

    • vsftpd

    • ftp

    • ip可自定义,此处设为192.168.4.5

  • 客户机(下称client):

    • ftp

    • ip这里设为192.168.4.205

修改vsftpd配置

进入目录/etc/vsftpd,编辑vsftpd.conf,在最后一行添加

listen_port=21

防火墙添加信任

然后在防火墙里允许特定ip访问特定端口(作业里要访问的ip是192.168.4.205)

firewall-cmd --permanent --add-rich-rule="rule family="ipv4" source address="192.168.4.205" port protocol="tcp" port="21" accept"

向客户机开放21端口

firewall-cmd --reload

重新载入防火墙

firewall-cmd --zone=public --list-rich-rules

查看开放的端口

如果显示防火墙未启动,可以运行命令启动防火墙

systemctl start firewalld

客户机测试

连接服务器

ftp 192.168.4.5

当显示ftp>时,输入ls或者pwd查看当前位置时,又出现了一个bug,显示no route to host

这时候再回到服务器,修改/etc/sysconfig/下的iptables-config,更改其中IPTABLES_MODULES=""项为

IPTABLES_MODULES="ip_nat_ftp ip_conntrack_ftp"

然后重启防火墙相关服务

systemctl restart iptables.service

如果服务器重启后,客户机ftp连接服务器还出现no route to host的情况,以此输入以下命令开启相关防火墙服务

systemctl start firewalld
systemctl start iptables.service

如果仅是临时使用,可以运行以下两条命令

modprobe ip_nat_ftp
modprobe ip_conntrack_ftp

参考链接

ftp connect: No route to host 解决方案_hello world!-CSDN博客

Linux防火墙firewall只允许特定ip访问 - 简书 (jianshu.com)

不关闭SELinux情况下使用ftp传输的更多相关文章

  1. Centos下搭建ftp服务器

    完全不用那么麻烦,直接可以用xshell中自带的传输文件功能,下载客户端xftp安装就行,不用配置,可以在windows系统向Linux系统的任何文件地方上传下载文件,简单方便,大大节约时间, vsf ...

  2. 什么情况下会用到try-catch

    本文不区分语言,只为记录一次有收获的面试. 面试官:什么情况下用到try-catch?程序员:代码执行预料不到的情况,我会使用try-catch.面试官:什么是预料不到的情况呢?程序员:比如我要计算a ...

  3. TCP中异常关闭链接的意义 异常关闭的情况

    终止一个连接的正常方式是发送FIN. 在发送缓冲区中 所有排队数据都已发送之后才发送FIN,正常情况下没有任何数据丢失. 但我们有时也有可能发送一个RST报文段而不是F IN来中途关闭一个连接.这称为 ...

  4. Linux菜鸟成长日记 ( Linux 下的 ftp 文件传输协议 )

    https://blog.csdn.net/buster_zr/article/details/80244542 FTP FTP 是 File Transfer Protocol (文件传输协议)的英 ...

  5. centos6 下查看SELinux状态 关闭SELinux

    转载自:https://blog.csdn.net/boomjane_testingblog/article/details/52859977 SELinux(Security-Enhanced Li ...

  6. (转)SELinux是什么意思,如何关闭?Linux下的防火墙用什么命令打开?

    SELinux是什么意思,如何关闭?Linux下的防火墙用什么命令打开? 原文:http://blog.csdn.net/hhcccchh/article/details/12995539 SELin ...

  7. 不关闭selinux下配置php+httpd访问KingbaseES

    在不关闭selinux的情况下使httpd+php+KingbaseES正常使用1.正常设置php.apache 除了正常流程外还需要在/etc/sysconfig/httpd最后追加LD_LIBRA ...

  8. linux下查看 SELinux状态及关闭SELinux

    SELinux全称为安全增强式 Security-Enhanced Linux(SELinux),是一个在内核中实践的强制存取控制(MAC)安全性机制.SELinux 首先在 CentOS 4 出现, ...

  9. Linux下开启关闭SeLinux

    SELinux (Security-Enhanced Linux) in Fedora is an implementation of mandatory access control in the ...

  10. 如何在关闭ssh连接的情况下,让进程继续运行?

    #screen 1 回车后进入Screen子界面,此时putty标题栏会指示处于子界面状态,然后运行你的程序 #应用程序名 1 然后按下Ctrl+A后抬起,然后按下d键,此时切换回主界面,Putty的 ...

随机推荐

  1. Qt将程序最小角化到系统托盘

    #include "test.h" #include "QPushButton" #include <QSystemTrayIcon> Test:: ...

  2. 详解Java Chassis 3与Spring Cloud的互操作

    本文分享自华为云社区<Java Chassis 3技术解密:与Spring Cloud的互操作>,作者: liubao68. Java Chassis 3一个很重要的设计原则:利用架构的韧 ...

  3. CentOS 编译安装golang

    一.下载go wget https://studygolang.com/dl/golang/go1.16.4.linux-amd64.tar.gz 二.解压到指定目录 tar -xvf go1.16. ...

  4. C内存操作API的实现原理

    我们在编写C代码时,会使用两种类型的内存,一种是栈内存,另外一种是堆内存,其中栈内存的申请和释放是由编译器来隐式管理的,我们也称为自动内存,这种变量是最简单而且最常用的,然后就是堆内存,堆的申请和释放 ...

  5. NOI 2024省选OIFC模拟21 蒲巴巴 超繁做法

    题目描述 一年一度的 PuBaBa 杯开始了! 今年的 PuBaBa 杯总共有 \(n\) 个选手来参加,编号分别为 \(1,2,\cdots,n\),他们的水平按编号依次递增,所以他们过的题目数量单 ...

  6. 力扣598(java)-范围求和Ⅱ(简单)

    题目: 给你一个 m x n 的矩阵 M ,初始化时所有的 0 和一个操作数组 op ,其中 ops[i] = [ai, bi] 意味着当所有的 0 <= x < ai 和 0 <= ...

  7. OceanBase初体验之Docker快速部署试用环境

    前置条件 准备好一台安装了 Docker 的 Linux 服务器,确保能够连接到 Docker Hub 仓库. 执行以下命令拉取最新的 OceanBase 镜像: docker pull oceanb ...

  8. 阿里 Seata 新版本终于解决了 TCC 模式的幂等、悬挂和空回滚问题

    简介: 今天来聊一聊阿里巴巴 Seata 新版本(1.5.1)是怎么解决 TCC 模式下的幂等.悬挂和空回滚问题的. 作者:朱晋君   大家好,我是君哥. 今天来聊一聊阿里巴巴 Seata 新版本(1 ...

  9. 团队管理|如何提高技术Leader的思考技巧?

    简介: 技术Leader是一个对综合素质要求非常高的岗位,不仅要有解具体技术问题的架构能力,还要具备团队管理的能力,更需要引领方向带领团队/平台穿越迷茫进阶到下一个境界的能力.所以通常来说技术Lead ...

  10. 打通JAVA与内核系列之一ReentrantLock锁的实现原理

    ​简介:写JAVA代码的同学都知道,JAVA里的锁有两大类,一类是synchronized锁,一类是concurrent包里的锁(JUC锁).其中synchronized锁是JAVA语言层面提供的能力 ...