跳至主要內容

云服务器:安全组 防火墙 systemctl 等

linuxsystemctl安全组防火墙大约 5 分钟约 1433 字

云服务器:安全组 防火墙 systemctl 等

1、解决云服务器配置安全组端口后还是无法访问

2、使用系统自带的 systemctl 命令管理服务

1. 查看linux操作系统信息

安装的软件和系统信息关联时关注

1.1. 查看Linux内核版本命令(两种方法)

1、cat /proc/version

[root@localhost ~]# cat /proc/version
Linux version 2.6.18-194.8.1.el5.centos.plus (mockbuild@builder17.centos.org) (gcc version 4.1.2 20080704 (Red Hat 4.1.2-48)) #1 SMP Wed Jul 7 11:50:45 EDT 2010

2、uname -a

[root@localhost ~]# uname -a
Linux localhost.localdomain 2.6.18-194.8.1.el5.centos.plus #1 SMP Wed Jul 7 11:50:45 EDT 2010 i686 i686 i386 GNU/Linux

1.2. 查看Linux系统版本的命令(3种方法)

1、lsb_release -a,即可列出所有版本信息:

[root@localhost ~]# lsb_release -a
LSB Version: :core-3.1-ia32:core-3.1-noarch:graphics-3.1-ia32:graphics-3.1-noarch
Distributor ID: CentOS
Description: CentOS release 5.5 (Final)
Release: 5.5
Codename: Final

这个命令适用于所有的Linux发行版,包括Redhat、SuSE、Debian…等发行版。

2、cat /etc/redhat-release,这种方法只适合Redhat系的Linux:

[root@localhost ~]# cat /etc/redhat-release
CentOS release 5.5 (Final)

3、cat /etc/issue,此命令也适用于所有的Linux发行版。

[root@localhost ~]# cat /etc/issue
CentOS release 5.5 (Final)

2. systemctl 服务进程自启动管理

使用系统自带的 systemctl 命令管理服务。

  • service配置文件
    • 具体路径参考最新的配置要求: /usr/lib/systemd/system/nodejs.service
  • nodejs.service 文件权限设置777可执行权限

2.1. 常用命令

  • systemctl daemon-reload 重置配置文件
  • systemctl start nodejs.service 启动服务
  • systemctl restart nodejs.service 启动服务
  • systemctl status nodejs.service 查看服务状态
  • systemctl enable nodejs.service 开机自启动服务

2.2. nodejs

nodejs.service 配置参考

[Unit]
Description=koa Server Service

[Service]
Type=simple
User=root
Restart=on-failure
RestartSec=15s

WorkingDirectory=/home/nodejs_koa
ExecStart=/home/nodejs_koa/systemd.sh


[Install]
WantedBy=multi-user.target

service 文件中直接配置 ExecStart=npm start 报错:无法使用全局的npm命令

#!/bin/bash
. /root/.nvm/nvm.sh

npm start

2.3. frp自启动服务

  • frps.service
[Unit]
Description=Frp Server Service
After=network.target

[Service]
Type=simple
User=nobody
Restart=on-failure
RestartSec=5s
ExecStart=/usr/local/frp/frps -c /usr/local/frp/frps.ini
LimitNOFILE=1048576

[Install]
WantedBy=multi-user.target

3. 开启或关闭Linux实例中的系统防火墙

防火墙是可以帮助计算机在内部网络和外部网络之间构建一道相对隔绝的保护屏障,从而保护数据信息的一种技术。如果服务器开启了防火墙,并设置了屏蔽外界访问的规则,那么在远程连接该服务器时,可能会导致访问失败。本文主要介绍在Linux操作系统中,如何开启或关闭系统防火墙。

阿里云提醒您:

  • 如果您对实例或数据有修改、变更等风险操作,务必注意实例的容灾、容错能力,确保数据安全。
  • 如果您对实例(包括但不限于ECS、RDS)等进行配置与数据修改,建议提前创建快照或开启RDS日志备份等功能。
  • 如果您在阿里云平台授权或者提交过登录账号、密码等安全信息,建议您及时修改。

Linux系统存在不同的发行版本,不同发行版本中开启或关闭系统防火墙的命令不同,请根据现场环境匹配下列发行版本的操作命令。

3.1. CentOS 5/CentOS 6

在CentOS 5和CentOS 6系统中,关于如何开启防火墙、关闭防火墙、查看防火墙运行状态,请参考以下信息:

  • 开启防火墙
  • 关闭防火墙
  • 查看防火墙运行状态

3.2. CentOS 7/Red Hat 7/Alibaba Cloud Linux 2

在CentOS 7、Red Hat和Alibaba Cloud Linux 2
系统中,关于如何开启防火墙、关闭防火墙、查看防火墙运行状态,请参考以下信息:

  • 开启防火墙

    systemctl start firewalld.service
    
  • 关闭防火墙

    systemctl stop firewalld.service
    
  • 查看防火墙运行状态

3.3. Ubuntu

在Ubuntu系统中,关于如何开启防火墙、关闭防火墙、查看防火墙运行状态,请参考以下信息:

  • 开启防火墙
  • 关闭防火墙
  • 查看防火墙运行状态

3.4. Debian

在Debian系统中,默认没有安装防火墙,可以通过清空防火墙策略,删除相关屏蔽规则。具体操作如下所示:

注意:清空策略前,请务必备份防火墙策略。

  1. 依次执行以下命令,备份防火墙策略。

    touch [$Iptables]iptables-save > [$Iptables]
    

    说明:[$Iptables]为防火墙策略的备份文件地址。

  2. 执行以下命令,清空防火墙策略。

4. 添加/删除防火墙端口

云服务器配置安全组后还是无法访问时,需要配置防火墙端口

4.1. 查看所有信息,看添加的端口是否存在(注:ports后面的就是开放的对应端口)

# firewall-cmd --list-all  #注意权限问题
public (active)
target: default
icmp-block-inversion: no
interfaces: eth0
sources:
services: dhcpv6-client
ports: 1130/tcp 80/tcp 10051/tcp 5672/tcp

2)没有的话添加,例如添加18002端口

#firewall-cmd --zone=public --add-port=18002/tcp --permanent

说明:

–zone #作用域

–add-port=80/tcp #添加端口,格式为:端口/通讯协议

–permanent 永久生效,没有此参数重启后失效

4.2. 其它操作

添加多个端口:

firewall-cmd --zone=public --add-port=80-90/tcp --permanent
#删除
firewall-cmd --zone=public --remove-port=80/tcp --permanent

3)重启防火墙

#firewall-cmd --reload

4)再次查看端口是否打开(如打开后,则完美解决)

# firewall-cmd --list-all
public (active)
target: default
icmp-block-inversion: no
interfaces: eth0
sources:
services: dhcpv6-client
ports: 1130/tcp 80/tcp 10051/tcp 18002/tcp 7660/tcp
protocols:
masquerade: yes

4.3. 防火墙的一些基本命令

1:查看防火状态

systemctl status firewalld
service iptables status

2:暂时关闭防火墙

systemctl stop firewalld
service iptables stop

3:永久关闭防火墙

systemctl disable firewalld
chkconfig iptables off

4:重启防火墙

systemctl enable firewalld
service iptables restart

5:启动防火墙

sudo systemctl start firewalld

5. 参考