centos7防火墙-学习小结

防火墙 常用方法:

来自:https://www.cnblogs.com/freedomwei/p/10851455.html

1.firewall的基本启动/停止/重启命令

#centos7启动防火墙
systemctl start firewalld.service
#centos7停止防火墙/关闭防火墙
systemctl stop firewalld.service
#centos7重启防火墙
systemctl restart firewalld.service


#设置开机启用防火墙
systemctl enable firewalld.service
#设置开机不启动防火墙
systemctl disable firewalld.service


2.新增开放一个端口号

firewall-cmd --zone=public --add-port=80/tcp --permanent
#说明:
#–zone #作用域
#–add-port=80/tcp #添加端口,格式为:端口/通讯协议
#–permanent 永久生效,没有此参数重启后失效

#多个端口:
firewall-cmd --zone=public --add-port=80-90/tcp --permanent

注意:新增/删除操作需要重启防火墙服务.
其他PC telnet开放的端口必须保证本地 telnet 127.0.0.1 端口号 能通。本地不通不一定是防火墙的问题。
查看本机已经启用的监听端口:
#centos7以下使用netstat -ant,7使用ss
ss -ant

3.查看

#centos7查看防火墙所有信息
firewall-cmd --list-all
#centos7查看防火墙开放的端口信息
firewall-cmd --list-ports


4.删除

#删除
firewall-cmd --zone=public --remove-port=80/tcp --permanent
注意:新增/删除操作需要重启防火墙服务.



(防火墙开放指定端口和协议)
firewall-cmd --permanent --add-port=12888/tcp
firewall-cmd --reload

(防火墙屏蔽指定ip地址)
firewall-cmd --permanent --add-rich-rule="rule family='ipv4' source address='128.128.128.128' reject"

firewall 开启服务

以下内容转自:http://www.cnblogs.com/adamas21/p/6241974.html

学习apache安装的时候需要打开80端口,由于centos 7版本以后默认使用firewalld后,网上关于iptables的设置方法已经不管用了,想着反正iptable也不会用,索性直接搬官方文档,学习firewalld了,好像比iptables要简单点了。

官方文档地址:https://access.redhat.com/documentation/en-US/Red_Hat_Enterprise_Linux/7/html/Security_Guide/sec-Using_Firewalls.html#sec-Introduction_to_firewalld
1、firewalld简介
firewalld是centos7的一大特性,最大的好处有两个:支持动态更新,不用重启服务;第二个就是加入了防火墙的“zone”概念
firewalld有图形界面和工具界面,由于我在服务器上使用,图形界面请参照官方文档,本文以字符界面做介绍
firewalld的字符界面管理工具是 firewall-cmd 
firewalld默认配置文件有两个:/usr/lib/firewalld/ (系统配置,尽量不要修改)和 /etc/firewalld/ (用户配置地址)
zone概念:
硬件防火墙默认一般有三个区,firewalld引入这一概念系统默认存在以下区域(根据文档自己理解,如果有误请指正):
drop:默认丢弃所有包
block:拒绝所有外部连接,允许内部发起的连接
public:指定外部连接可以进入
external:这个不太明白,功能上和上面相同,允许指定的外部连接
dmz:和硬件防火墙一样,受限制的公共连接可以进入
work:工作区,概念和workgoup一样,也是指定的外部连接允许
home:类似家庭组
internal:信任所有连接
对防火墙不算太熟悉,还没想明白public、external、dmz、work、home从功能上都需要自定义允许连接,具体使用上的区别还需高人指点
2、安装firewalld
root执行 # yum install firewalld firewall-config
 
3、运行、停止、禁用firewalld
启动:# systemctl start  firewalld
查看状态:# systemctl status firewalld 或者 firewall-cmd --state
停止:# systemctl disable firewalld
禁用:# systemctl stop firewalld
 
4、配置firewalld
查看版本:$ firewall-cmd --version
查看帮助:$ firewall-cmd --help
查看设置:
                显示状态:$ firewall-cmd --state
                查看区域信息: $ firewall-cmd --get-active-zones
                查看指定接口所属区域:$ firewall-cmd --get-zone-of-interface=eth0
拒绝所有包:# firewall-cmd --panic-on
取消拒绝状态:# firewall-cmd --panic-off
查看是否拒绝:$ firewall-cmd --query-panic
 
更新防火墙规则:# firewall-cmd --reload
                            # firewall-cmd --complete-reload
    两者的区别就是第一个无需断开连接,就是firewalld特性之一动态添加规则,第二个需要断开连接,类似重启服务
 
将接口添加到区域,默认接口都在public
# firewall-cmd --zone=public --add-interface=eth0
永久生效再加上 --permanent 然后reload防火墙
 
设置默认接口区域
# firewall-cmd --set-default-zone=public
立即生效无需重启
 
打开端口(貌似这个才最常用)
查看所有打开的端口:
# firewall-cmd --zone=dmz --list-ports
加入一个端口到区域:
# firewall-cmd --zone=dmz --add-port=8080/tcp
若要永久生效方法同上
 
打开一个服务,类似于将端口可视化,服务需要在配置文件中添加,/etc/firewalld 目录下有services文件夹,这个不详细说了,详情参考文档
# firewall-cmd --zone=work --add-service=smtp
 
移除服务
# firewall-cmd --zone=work --remove-service=smtp

 

### firewall-cmd see open ports

sudo firewall-cmd --zone=public --permanent --add-port=5000/tcp.
sudo firewall-cmd --zone=public --permanent --add-port=4990-4999/udp.
sudo firewall-cmd --zone=public --permanent --list-ports

 

yum-error: cannot open Packages database in /var/lib/rpm

error: rpmdb: BDB0113 Thread/process 1502/140515876947776 failed: BDB1507 Thread died in Berkeley DB library

error: db5 error(-30973) from dbenv->failchk: BDB0087 DB_RUNRECOVERY: Fatal error, run database recovery

error: cannot open Packages index using db5 -  (-30973)

error: cannot open Packages database in /var/lib/rpm

CRITICAL:yum.main:

Error: rpmdb open failed

这个问题好奇怪啊,之前几天 登入服务器,跟我说 yum 出了问题。

今天登入 服务器,跟我说,yum 可以用了。可能是 最近CPU 漏洞的原因吧,

服务器厂商在打补丁吧,反正现在能用了,以前好好的突然报出这个问题 我也觉得是挺奇怪的。现在能用了就好。


故障描述:今天下午测试OpenStack,在使用yum安装一个包的时候,手欠了下,结果被我终止了,如是有了下面的记录

先清空下缓存,发现rpmdb open failed

[bash]
[root@linux-node1 glance]# yum clean all
error: rpmdb: BDB0113 Thread/process 21357/140557926295360 failed: BDB1507 Thread died in Berkeley DB library
error: db5 error(-30973) from dbenv->failchk: BDB0087 DB_RUNRECOVERY: Fatal error, run database recovery
error: cannot open Packages index using db5 – (-30973)
CRITICAL:yum.main:
Error: rpmdb open failed
[/bash]

然后试了下yum makecache,问题仍旧不能解决

[bash]
[root@linux-node1 glance]# yum makecache
error: rpmdb: BDB0113 Thread/process 21357/140557926295360 failed: BDB1507 Thread died in Berkeley DB library
error: db5 error(-30973) from dbenv->failchk: BDB0087 DB_RUNRECOVERY: Fatal error, run database recovery
error: cannot open Packages index using db5 – (-30973)
error: cannot open Packages database in /var/lib/rpm
CRITICAL:yum.main:
Error: rpmdb open failed
[/bash]

解决方法:

[bash]
[root@linux-node1 glance]# ls /var/lib/rpm/
Basenames __db.001 __db.003 Dirnames Installtid Obsoletename Providename .rpm.lock Sigmd5
Conflictname __db.002 .dbenv.lock Group Name Packages Requirename Sha1header Triggername
[root@linux-node1 glance]# rm -f /var/lib/rpm/__db*
You have new mail in /var/spool/mail/root
[root@linux-node1 glance]# rpm –rebuilddb
[root@linux-node1 glance]# yum clean all
Loaded plugins: fastestmirror, langpacks
Cleaning repos: base centos-ceph-hammer centos-openstack-mitaka centos-qemu-ev epel extras updates
Cleaning up everything
Cleaning up list of fastest mirrors<span data-mce-type="bookmark" style="display: inline-block; width: 0px; overflow: hidden; line-height: 0;" class="mce_SELRES_end"></span>
[/bash]

问题得到解决 (下面是 另一种 代码风格 展示)

[root@linux-node1 glance]# ls /var/lib/rpm/
Basenames     __db.001      __db.003      Dirnames      Installtid    Obsoletename  Providename   .rpm.lock     Sigmd5
Conflictname  __db.002      .dbenv.lock   Group         Name          Packages      Requirename   Sha1header    Triggername
[root@linux-node1 glance]# rm -f /var/lib/rpm/__db*
You have new mail in /var/spool/mail/root
[root@linux-node1 glance]# rpm --rebuilddb
[root@linux-node1 glance]# yum clean all
Loaded plugins: fastestmirror, langpacks
Cleaning repos: base centos-ceph-hammer centos-openstack-mitaka centos-qemu-ev epel extras updates
Cleaning up everything
Cleaning up list of fastest mirrors

 

转自:http://blog.51cto.com/molewan/1906370

centos特有软件-htop

谷歌快照历史遗留:centos7安装nginx,mysql,php
centos7安装nginx
cnetos7安装php
centos7安装mysql


在管理进程时通常要借助一些工具,比较常用的就是ps和top了;不过CentOS还为我们提供了一个更加强大的工具htop,下面就来了解一下此工具的使用方法。

一、安装htop

htop工具在epel源中提供,请自行配置epel源,也可以直接下载htop的源码包进行安装。

二、htop的界面操作

htop跟top一样,也是打开一个实时的监控界面,直接输入htop命令打开如下图所示界面:

在上图中将输出的界面划分成了四个区域,其中:

上左区:显示了CPU、物理内存和交换分区的信息;

上右区:显示了任务数量、平均负载和连接运行时间等信息;

进程区域:显示出当前系统中的所有进程;

操作提示区:显示了当前界面中F1-F10功能键中定义的快捷功能。

F1:显示帮助信息;

F2:配置界面中的显示信息;

我们可以根据自己的需要修改显式模式以及想要显示的内容,比如:以LED的形式显示CPU的使用情况,并且在左边的区域添加hostname,在右边的区区域添加clock;

我们也可以自定义进程区域中的显示内容:

F3:进程搜索;

 

F4:进程过滤器;从上面的结果可以看出search和filter的区别:

search会将光标定位到符合条件的进程上,通过F3键进行逐个查找;而filter会直接将符合条件的进程筛选出来。

search和filter都使用ESC键来取消功能。

F5:显示进程树;

 

F6:排序;

F7:减小nice值;

F8:增加nice值;

直接修改光标选取的进程的nice值:

 

F9:杀掉指定进程;

 

F10:退出htop。

空格键:用于标记选中的进程,用于实现对多个进程同时操作;

U:取消所有选中的进程;

s:显示光标所在进程执行的系统调用;

下面显示的为init的系统调用信息:

l:显示光标所在进程的文件列表;

I:对排序的结果进行反转显示;

例如,对PPID进行排序后,按‘I’键将会对PPID的排序结果进行反向排序。

a:绑定进程到指定的CPU;

u:显示指定用户的进程;

    M:按照内存使用百分比排序,对应MEM%列;

P:按照CPU使用百分比排序,对应CPU%列;

T:按照进程运行的时间排序,对应TIME+列;

K:隐藏内核线程;

H:隐藏用户线程;

#:快速定位光标到PID所指定的进程上。

三、htop相关选项

-d:设置刷新时间,单位为秒;

-C:设置界面为无颜色;

-u:显示指定用户的进程;

[root@testdb ~]#htop  -u  test1

 

-s:以指定的列排序;

[root@testdb ~]#htop -s PPID

 

转载自:http://www.178linux.com/4394
作者:petmaster