插件窝 干货文章 详解如何增加Linux安全组端口(命令行方式)

详解如何增加Linux安全组端口(命令行方式)

端口 规则 安全 bash 272    来源:    2025-05-02

Linux安全组端口配置详解

安全组(Security Group)是云计算环境中常用的虚拟防火墙,用于控制实例的入站和出站流量。下面我将详细介绍如何在主流云平台通过命令行方式增加Linux安全组端口。

主流云平台操作方式

1. AWS EC2安全组

查看现有安全组规则:

aws ec2 describe-security-groups --group-id sg-xxxxxxxx

添加入站规则:

aws ec2 authorize-security-group-ingress \
    --group-id sg-xxxxxxxx \
    --protocol tcp \
    --port 8080 \
    --cidr 0.0.0.0/0

添加入站规则(指定源安全组):

aws ec2 authorize-security-group-ingress \
    --group-id sg-xxxxxxxx \
    --protocol tcp \
    --port 8080 \
    --source-group sg-yyyyyyyy

添加出站规则:

aws ec2 authorize-security-group-egress \
    --group-id sg-xxxxxxxx \
    --protocol tcp \
    --port 3306 \
    --cidr 10.0.0.0/16

2. 阿里云ECS安全组

查看安全组规则:

aliyun ecs DescribeSecurityGroupAttribute --SecurityGroupId sg-xxxxxx

添加入站规则:

aliyun ecs AuthorizeSecurityGroup \
    --SecurityGroupId sg-xxxxxx \
    --IpProtocol tcp \
    --PortRange 8080/8080 \
    --SourceCidrIp 0.0.0.0/0

添加入站规则(指定源安全组):

aliyun ecs AuthorizeSecurityGroup \
    --SecurityGroupId sg-xxxxxx \
    --IpProtocol tcp \
    --PortRange 8080/8080 \
    --SourceGroupId sg-yyyyyy \
    --SourceGroupOwnerId 123456789012

3. 腾讯云CVM安全组

查看安全组规则:

tccli vpc DescribeSecurityGroupPolicies --SecurityGroupId sg-xxxxxx

添加入站规则:

tccli vpc CreateSecurityGroupPolicies \
    --SecurityGroupId sg-xxxxxx \
    --SecurityGroupPolicySet.Ingress.0.Action ACCEPT \
    --SecurityGroupPolicySet.Ingress.0.CidrBlock 0.0.0.0/0 \
    --SecurityGroupPolicySet.Ingress.0.IpProtocol TCP \
    --SecurityGroupPolicySet.Ingress.0.PortRange 8080 \
    --SecurityGroupPolicySet.Ingress.0.PolicyDescription "允许8080端口入站"

本地Linux防火墙配置

如果是在本地Linux服务器上配置防火墙规则(非云安全组),可以使用以下命令:

1. iptables (传统方式)

开放TCP端口:

sudo iptables -A INPUT -p tcp --dport 8080 -j ACCEPT

开放UDP端口:

sudo iptables -A INPUT -p udp --dport 53 -j ACCEPT

保存规则:

sudo iptables-save > /etc/iptables.rules

2. firewalld (RHEL/CentOS 7+)

查看现有规则:

sudo firewall-cmd --list-all

开放端口:

sudo firewall-cmd --zone=public --add-port=8080/tcp --permanent
sudo firewall-cmd --reload

3. ufw (Ubuntu)

启用防火墙:

sudo ufw enable

开放端口:

sudo ufw allow 8080/tcp

最佳实践建议

  1. 最小权限原则:只开放必要的端口,避免使用0.0.0.0/0范围
  2. 使用安全组ID而非IP:在VPC内部,优先使用安全组ID作为源
  3. 添加描述:为每条规则添加清晰的描述
  4. 端口范围:避免开放大范围端口,尽量精确指定
  5. 定期审计:定期检查并清理不再使用的规则

验证端口开放

配置完成后,可以使用以下命令验证端口是否开放:

# 本地检查
sudo netstat -tuln | grep 8080

# 远程测试(从另一台服务器)
telnet your-server-ip 8080
# 或
nc -zv your-server-ip 8080

希望这些信息对您有所帮助!如需针对特定云平台或场景的更详细指导,请告知具体需求。