阿里云Centos8+ 使用 yum 命令时报错 404 开启防火墙以及开放特定端口

本文档详细介绍了如何解决Linux系统中使用yum命令时遇到的404错误,包括修改数据源和清理缓存的方法。同时,讲解了如何开启防火墙并开放特定端口,包括使用firewall-cmd命令和编辑iptables配置文件的两种方式,确保服务器的网络服务正常运行。

目录

第一章 使用 yum 命令时报错 404

解决方法1:

解决方法2:可能是之前的数据源有误

第二章 开启防火墙以及开放特定端口


第一章 使用 yum 命令时报错 404

报错部分错误如下:

Errors during downloading metadata for repository 'appstream':
  - Status code: 404 for http://mirrors.cloud.aliyuncs.com/centos/8/AppStream/x86_64/os/repodata/repomd.xml....

Error: Failed to download metadata for repo 'appstream': Cannot download repomd.xml: Cannot download repodata/repomd.xml: All mirrors were tried

首先你能ping 通百度之类确保网络无问题,之后可进行下面步骤

解决方法1:

1.进入此目录
cd /etc/yum.repos.d/

2.
for i in `ls`;do sed -i 's/mirrors.cloud.aliyuncs.com/mirrors.aliyun.com/g' $i;done
for i in `ls`;do sed -i 's/$releasever/$releasever-stream/g' $i;done

3.清缓存
yum clean all
yum makecache

4.之后可安装gcc-c++(这个你用不到可以不安装)
yum -y install gcc-c++

解决方法2:可能是之前的数据源有误

(1)进入目录:cd /etc/yum.repos.d

(2)删除所有文件:rm -rf ./*

(3)配置正确的数据源:wget -O /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-vault-8.5.2111.repo

(4)生成缓存:yum makecache

第二章 开启防火墙以及开放特定端口

-------------------------------------开启防火墙步骤-------------------------------------
1.首先查看防火墙状态
firewall-cmd --state 或者 systemctl status firewalld
如果为 not running 则表示防火墙关闭

2.开启防火墙
systemctl start firewalld.service
或者
systemctl start firewalld

3.如果这时候报错
failed to statr firewalld.service : unit is masked.
表示你锁定了防火墙,需要将防火墙先解锁

4.解锁防火墙
systemctl unmask firewalld

5.下次若需要锁定服务时执行
systemctl mask firewalld

6.设置开机自启
systemctl enable firewalld.service

7.重启防火墙
systemctl restart firewalld.service

8.这时查看防火墙是否已经打开
firewall-cmd --state

9.查看防火墙设置开机自启是否成功
systemctl is-enabled firewalld.service;echo $?

10.显示 enabled 0 即是显示成功

ok,以上就是防火墙开启的相关步骤


------------------------------------开启特定端口---------------------------------------
开启防火墙后,一些服务会访问不到,是因为其服务的端口未打开。
在阿里云部署的Linux服务器,需要先在阿里云上面添加相应的入方向的安全组规则。不多介绍,可百度。

开启特定端口方法1:

    这里以 80 端口为例:
    1.开端口命令:firewall-cmd --zone=public --add-port=80/tcp --permanent
    (关端口命令:firewall-cmd --zone=public --remove-port=1521/tcp --permanent)
    2.重启防火墙:systemctl restart firewalld.service
    命令含义:
    --zone #作用域
    --add-port=80/tcp  #添加端口,格式为:端口/通讯协议
    --permanent   #永久生效,没有此参数重启后失效
    即可开启端口成功

    3.可以通过命令查看开放端口
    netstat -ntlp
    或:firewall-cmd --list-ports

    4.开启端口成功后需要firewall-cmd --reload 才会生效 

    5.可通过firewall-cmd --list-port查看已生效的端口

开启特定端口方法2:(估计是老版本)
    
    1. 编辑配置文件 vim /etc/sysconfig/iptables
    会看到这样的内容:
   { 
        # sampleconfiguration for iptables service
        # # you can edit thismanually or use system-config-firewall
        # # please do not askus to add additional ports/services to this default configuration
        *filter
        :INPUT ACCEPT [0:0]
        :FORWARD ACCEPT [0:0]
        :OUTPUT ACCEPT [0:0]
        -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
        -A INPUT -p icmp -j ACCEPT
        -A INPUT -i lo -j ACCEPT
        -A INPUT -p tcp -m state --state NEW -m tcp --dport 22 -j ACCEPT
        -A INPUT -p tcp -m state --state NEW -m tcp --dport 80 -j ACCEPT    ##这是你要放行的 80 端口
        -A INPUT -p tcp -m state --state NEW -m tcp --dport 3306 -j ACCEPT    ##这是你要放行的 3306 端口
        -A INPUT -j REJECT --reject-with icmp-host-prohibited
        -A FORWARD -j REJECT --reject-with icmp-host-prohibited
        COMMIT
    }

    2. 直接编辑加入:
    -A INPUT -p tcp -m state --state NEW -m tcp --dport 80 -j ACCEPT    ##允许80端口通过防火墙
    -A INPUT -p tcp -m state --state NEW -m tcp --dport 3306 -j ACCEPT    ##允许3306端口通过防火墙

    或者直接不编辑文件,用命令行:

    #/sbin/iptables -I INPUT -p tcp --dport 80 -j ACCEPT
    #/sbin/iptables -I INPUT -p tcp --dport 22 -j ACCEPT
    #/sbin/iptables -I INPUT -p tcp --dport 3306 -j ACCEPT

    3.然后保存:
    :wq 进行保存
    serivce iptables save
    或者(对应上面命令行操作)
    #/etc/rc.d/init.d/iptables save

    4.重启防火墙
    /etc/init.d/iptables restart      #最后重启防火墙使配置生效
    或者使用[sudo] firewall-cmd --reload命令重启防火墙

    5.查看
    查看本机关于IPTABLES的设置情况:iptables -L -n
    查看打开的端口:# /etc/init.d/iptables status
    看防火墙开启还是关闭:systemctl status firewalld.service
    可以查看端口开放情况:sudo firewall-cmd --list-all


至此,已完成对特定端口开放的步骤

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值