【运维笔记】Linux运维常用(命令|操作)笔记

监控

磁盘

查看文件系统以及使用情况:

df -h
文件系统状态

网络

CentOS配置IPv4地址&IPv6地址

使用ifconfig命令查看所要配置的网卡,并打开网卡配置文件夹,使用vim或vi编辑所要修改的网卡配置文件。

ifconfig
cd /etc/sysconfig/network-scripts/
vim ifcfg-ens192

编辑配置如下

TYPE=Ethernet
NAME=eno16780032
DEVICE=eno16780032
#静态配置IPv4地址,如需使用DHCP协议,请将此项修改为dhcp
BOOTPROTO=static
#IPv4默认使用此网卡
DEFROUTE=yes
#开机启动网卡
ONBOOT=yes
#IPv6-DHCP客户端(DHCPv6)唯一标识符
UUID=1aaa3b61-4cfb-4912-9967-ec1baafa851a
#静态IPv4地址相关配置,使用DHCP方式请勿填写
IPADDR=10.0.1.24
NETMASK=255.255.255.0
#多IPv4地址配置项
IPADDR1=192.168.1.151
PREFIX1=24
GATEWAY=10.0.1.254
DNS1=10.0.1.2
DNS2=10.0.1.3
#IPv4连接失败不关闭网卡
IPV4_FAILURE_FATAL=no
#IPv6初始化
IPV6INIT=yes
#IPv6自动配置,如需自动配置IPv6(有状态或无状态自动获取地址),请将此项修改为yes
IPV6_AUTOCONF=no
#IPv6默认使用此网卡
IPV6_DEFROUTE=yes
#IPv6连接失败不关闭网卡
IPV6_FAILURE_FATAL=no
#IPv6地址,使用自动配置IPv6方式请勿填写
IPV6ADDR=240e:64a:7000:10f::24/112
#IPv6默认网关
IPV6_DEFAULTGW=240e:64a:7000:10F::FFFF
#IPv6其他地址,在配置多个IPv6地址时需在此处配置
IPV6ADDR_SECONDARIES="2001:250:1809:10F::24/112 2409:877C:1200:10F::24/112"

依次输入ESC、:(英文冒号)、wq、Enter(回车),保存文件后,输入以下命令重启网络。

systemctl restart network

Linux查看端口占用情况(一)

#lsof -i:port
lsof -i:80
lsof命令查询结果
  • COMMAND:进程的名称
  • PID:进程标识符
  • USER:进程所有者
  • FD:文件描述符,应用程序通过文件描述符识别该文件。如cwd、txt等
  • TYPE:文件类型,如DIR、REG等
  • DEVICE:指定磁盘的名称
  • SIZE:文件的大小
  • NODE:索引节点(文件在磁盘上的标识)
  • NAME:打开文件的确切名称

Linux查看端口占用情况(二)

#netstat -tunlp | grep 端口号
netstat -tunlp
netstat查询结果

Ubuntu防火墙操作(ufw)

防火墙的所有操作都需要在root权限下,请使用sudo或使用root账号登录。

#打开防火墙
ufw enable
#关闭防火墙
ufw disable
#重新载入防火墙,建议在配置后重载
ufw reload
#查看防火墙状态
ufw status
#查看防火墙状态,并显示规则的序号
ufw status numbered
ufw状态

创建规则的相关命令

#允许Anywhere访问本机的80端口,此处端口号也可为具体服务,如smtp、snmp、ssh
ufw allow 80
#禁止Anywhere访问本机的80端口
ufw deny 80
#允许192.168.1.1访问本机的所有端口,也可以使用网络,如10.0.0.0/8
ufw allow from 192.168.1.1
#禁止192.168.1.1访问本机的所有端口
ufw deny from 192.168.1.1
#允许10.0.0.0/8网络内的主机访问192.168.0.1的22端口
ufw allow proto tcp from 10.0.0.0/8 to 192.168.0.1 port 22
#禁止10.0.0.0/8网络内的主机访问192.168.0.1的22端口
ufw deny proto tcp from 10.0.0.0/8 to 192.168.0.1 port 22

删除规则的相关命令

#删除ufw allow ssh这条规则
ufw delete allow ssh
#删除序号为7的规则
ufw delete 7
删除序号为7的规则

CentOS防火墙操作(firewall-cmd)

firewall-cmd存在helpers、icmptypes、ipsets、services、zones等预定义的结构,是用xml文件预定义在系统中的。可在/usr/lib/firewalld/下查看。

cd /usr/lib/firewalld/
ll
ll services/
ll zones/
firewalld
zones

常用命令如下

#打开防火墙服务
systemctl start firewalld
#查看防火墙服务状态
systemctl status firewalld
#设置开机启用防火墙
systemctl enable firewalld
#设置开机禁用防火墙
systemctl disable firewalld
#重新加载防火墙规则,建议在配置后重载
firewall-cmd --reload

直接规则操作命令

#查看开放的端口,以下两条命令均可,因为新网卡默认属于public zone。
firewall-cmd --zone=public --list-ports
firewall-cmd --list-ports
#永久开放本机的TCP22端口,以下两条命令均可
firewall-cmd --zone=public --add-port=22/tcp --permanent
firewall-cmd --add-port=22/tcp --permanent
#永久删除开放本机的TCP22端口,以下两条命令均可
firewall-cmd --zone=public --remove-port=22/tcp --permanent
firewall-cmd --remove-port=22/tcp --permanent
#查询防火墙是否开放本机的TCP22端口
firewall-cmd --query-port=22/tcp

#永久开放本机的ssh服务
firewall-cmd --permanent --add-service=ssh
#永久删除开放本机的ssh服务
firewall-cmd --permanent --remove-service=ssh
#查询防火墙是否开放本机的ssh服务
firewall-cmd --query-service=ssh

#把从external进来的22端口的TCP报文转发给1.1.1.1
firewall-cmd --zone=external --add-forward-port=port=22:proto=tcp:toaddr=1.1.1.1
#删除把从external进来的22端口的TCP报文转发给1.1.1.1的规则
firewall-cmd --zone=external --remove-forward-port=port=22:proto=tcp:toaddr=1.1.1.1
#查询把从external进来的22端口的TCP报文转发给1.1.1.1的规则是否存在
firewall-cmd --zone=external --query-forward-port=port=22:proto=tcp:toaddr=1.1.1.1
端口转发

— permanent 持久配置: 修改后需要重载才会生效

注意:一旦使用了permanent,配置完成后一定要reload,否则只能待防火墙重启后这些配置才能生效。

富规则操作命令

#查询防火墙上配置的富规则
firewall-cmd --list-rich-rules

#富规则相关示例
1、允许192.168.122.0/24主机所有连接
[root@pencil ~]# firewall-cmd --add-rich-rule='rule family="ipv4" source address="192.168.122.0" accept'

2、每分钟允许2个新连接访问ftp服务
[root@pencil ~]# firewall-cmd --add-rich-rule='rule service name=ftp limit value=2/m accept'

3、同意新的IPv4和IPv6主机连接 FTP ,并使用审核每分钟登录一次
[root@pencil ~]# firewall-cmd --add-rich-rule='rule service name=ftp log limit value="1/m" audit accept'

4、允许来自192.168.122.0/24地址的新IPv4主机连接连接TFTP服务,并且每分钟记录一次
[root@pencil ~]# firewall-cmd --add-rich-rule='rule family="ipv4" source address="192.168.122.0/24" service name=ssh log prefix="ssh" level="notice" limit value="3/m" accept'

5、丢弃所有icmp包
[root@pencil ~]# firewall-cmd --permanent --add-rich-rule='rule protocol value=icmp drop'

6、当使用source和destination指定地址时,必须有family参数指定ipv4或ipv6。如果指定超时,规则将在指定的秒数内被激活,并在之后被自动移除
[root@pencil ~]# firewall-cmd --add-rich-rule='rule family=ipv4 source address=192.168.122.0/24 reject' --timeout=10

7、拒绝所有来自2001:db8::/64子网的主机访问dns服务,并且每小时只审核记录1次日志
[root@pencil ~]# firewall-cmd --add-rich-rule='rule family=ipv6 source address="2001:db8::/64" service name="dns" audit limit value="1/h" reject' --timeout=300

8、允许192.168.122.0/24网段中的主机访问ftp服务
[root@pencil ~]# firewall-cmd --permanent --add-rich-rule='rule family=ipv4 source address=192.168.122.0/24 service name=ftp accept'

9、转发来自ipv6地址1:2:3:4:6::TCP端口4011,到1:2:3:4:7的TCP端口4012
[root@pencil ~]# firewall-cmd --add-rich-rule='rule family="ipv6" source address="1:2:3:4:6::" forward-port to-addr="1::2:3:4:7" to-port="4012" protocol="tcp" port="4011"'

10、允许来自主机192.168.0.14的所有IPv4流量
[root@pencil ~]# firewall-cmd --zone=public --add-rich-rule 'rule family="ipv4" source address=192.168.0.14 accept'

11、拒绝来自主机192.168.1.10到22端口的IPv4的TCP流量
[root@pencil ~]# firewall-cmd --zone=public --add-rich-rule 'rule family="ipv4" source address="192.168.1.10" port port=22 protocol=tcp reject'
上一篇
下一篇