在虚拟机rocky搭建ftp服务

博主在尝试将Windows主机文件拖拽到Linux虚拟机时遇到问题,通过尝试和debug未果后,转向搭建FTP服务。尝试了几个逐命令教程后,最终通过一键安装脚本在Linux上成功搭建FTP服务,解决了文件传输问题。过程中体会到逐命令学习与使用现成脚本的效率差异。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

由于将宿主机文件拖拽到虚拟机里必须要压缩,windows是zip压缩,到linux里unzip出现了问题(奇怪的是,我搭建好后重新尝试时又没有问题了,难道是直接拖拽传输的文件有损坏?)于是就想搭建ftp服务。

首先网上尝试了几个逐命令的教程,cmd中匿名登录后使用ls命令出现了425 Use PORT or PASV first, failed to establish connection错误,又面向百度debug了一通,虽然没成功(开了自己宿主机的端口还没关),但是突然想起来用xftp连接可以直接可视化查看文件夹,连接了果然如此

但是没有创建文件夹的权限,上传文件也显示失败,猜想可能是匿名登录不能写的问题,临近图书馆闭馆,匆匆忙忙机械输了几个命令碰碰运气,没抱多大希望。

第二天回来也不想在昨天的烂摊子上再尝试了,换个教程,卸了vsftp重装了两次碰碰运气,最后一次是在rocky官方文档找到的教程,抱着很大期望,但是做到中间发现他用了额外的加密,比网上其他教程多了很多配置心又凉了,踩完这个坑就去吃午饭了。

下午看到一个词“一键”,我就想起来能不能找个现成的sh文件,csdn上找到了一尝试竟然成功了。不得不说来得早不如来得巧,某种程度上我之前都是在尝试别人的sh,只不过是以逐命令手工复制的方式,但是都存在问题,这次没有过多阅读,仅仅操作运行一番竟然就能成。

逐命令复制的方式:方便学习与debug

现成sh运行方式:如果仅仅抱着碰运气目的机械执行第一种方式,不如采用此方式提高效率。

没辙了就找一堆sh碰运气吧!!

网上的各种教程由于其各种依赖的具体性,加上作者与读者自身的知识有限,难以判断与我们所做的是否适配,只能看运气喽………

<think>好的,我现在需要帮助用户解答如何在Rocky Linux上设置PXE服务器的问题。根据用户提供的引用内容,我需要整理出一个步骤清晰的教程。 首先,用户提到的引用内容涉及PXE服务器搭建流程,包括DHCP、TFTP、HTTP服务器的配置,以及ISO镜像的处理。我需要将这些信息综合起来,确保每一步都正确无误,并且符合Rocky Linux 9的环境。 第一步是安装必要的软件包。根据引用1和引用3,需要安装dhcp-server、tftp-server、httpd和syslinux。在Rocky Linux中,可能使用dnf来安装这些包,我需要确认包名是否正确,比如dhcp服务器Rocky Linux中应该是dhcp-server,而syslinux相关的包可能需要检查是否存在syslinux-tftpboot,如引用3提到的。 接下来是配置DHCP服务器。引用1提到PXE客户端需要获取IP并指向TFTP服务器,因此dhcpd.conf中需要设置next-server和filename选项。需要确保子网配置正确,地址池范围合适,且不与其他服务冲突。这里要注意subnet、range、option routers等参数的正确性。 然后是配置TFTP服务器。根据引用1和引用3,需要将引导文件如pxelinux.0、pxelinux.cfg/default等放入TFTP根目录,通常是/var/lib/tftpboot。这里需要确认syslinux-tftpboot包提供的文件路径,并正确复制到TFTP目录。可能需要使用rpm2cpio解压,如引用3所述,但用户可能更希望使用直接安装的方法,如果包可用的话。 HTTP服务器的配置部分,需要设置安装文件的路径,比如将ISO挂载到/var/www/html/rocky9,并确保ks.cfg文件可访问。引用1提到通过HTTP加载ks.cfg,所以需要检查路径是否正确,并且httpd服务配置无误。 然后是PXE引导配置,编辑default文件,指定内核和initrd的位置,以及安装源和kickstart文件的位置。需要确保路径正确,特别是vmlinuz和initrd.img的路径是否正确指向HTTP服务器中的位置,避免路径错误导致引导失败。 最后是防火墙和SELinux的配置,需要开放必要的端口,并设置正确的上下文,或者临时禁用SELinux进行测试。这部分需要提醒用户根据实际环境调整,特别是生产环境中可能需要更严格的安全设置。 在整理步骤时,需要确保每个环节都环环相扣,避免遗漏关键步骤,比如挂载ISO镜像、设置文件权限等。同时,考虑到用户可能遇到的问题,比如软件包名称不同、路径错误、服务未启动等,可以在注意事项中提前说明。 生成的相关问题需要围绕PXE服务器的常见问题,比如自动化安装、配置文件错误排查、不同版本的差异等,这样用户可以在遇到问题时快速找到解答。 总结来说,需要将各个引用中的步骤整合成一个连贯的教程,验证每一步的正确性,并确保语言简洁明了,适合用户跟随操作。</think>### 在Rocky Linux 9上搭建PXE服务器的分步指南 #### 1. 安装必要软件包 ```bash sudo dnf install dhcp-server tftp-server httpd syslinux syslinux-tftpboot ``` - **说明**:DHCP用于分配IP地址,TFTP传输引导文件,HTTP提供安装源,syslinux提供PXE引导文件[^3]。 #### 2. 配置DHCP服务器 编辑`/etc/dhcp/dhcpd.conf`: ```plaintext subnet 192.168.1.0 netmask 255.255.255.0 { range 192.168.1.100 192.168.1.200; option routers 192.168.1.1; option domain-name-servers 8.8.8.8; filename "pxelinux.0"; next-server 192.168.1.10; # PXE服务器IP } ``` - **启动服务**: ```bash sudo systemctl enable --now dhcpd ``` [^1] #### 3. 配置TFTP服务 - 复制引导文件到TFTP根目录: ```bash cp /usr/share/syslinux/pxelinux.0 /var/lib/tftpboot/ mkdir -p /var/lib/tftpboot/pxelinux.cfg cp /usr/share/syslinux/menu.c32 /var/lib/tftpboot/ ``` - **启动服务**: ```bash sudo systemctl enable --now tftp ``` [^3] #### 4. 挂载ISO镜像并配置HTTP服务 ```bash mkdir -p /mnt/iso /var/www/html/rocky9 mount -o loop Rocky-9.2-x86_64-dvd.iso /mnt/iso cp -r /mnt/iso/* /var/www/html/rocky9/ ``` - **启动HTTP服务**: ```bash sudo systemctl enable --now httpd ``` [^4] #### 5. 配置PXE引导菜单 创建`/var/lib/tftpboot/pxelinux.cfg/default`: ```plaintext DEFAULT menu.c32 PROMPT 0 LABEL rocky9 KERNEL http://192.168.1.10/rocky9/images/pxeboot/vmlinuz APPEND initrd=http://192.168.1.10/rocky9/images/pxeboot/initrd.img inst.repo=http://192.168.1.10/rocky9 inst.ks=http://192.168.1.10/ks.cfg ``` - **说明**:`inst.ks`指定Kickstart文件实现无人值守安装[^2]。 #### 6. 防火墙与SELinux配置 ```bash sudo firewall-cmd --add-service={http,tftp,dhcp} --permanent sudo firewall-cmd --reload # 临时关闭SELinux(测试用) setenforce 0 ``` #### 7. 验证流程 1. 客户端设置为PXE启动 2. 观察是否获取IP并加载引导文件 3. 检查HTTP日志`/var/log/httpd/access_log`确认文件传输
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值