拓展 centos 7

拓展 centos 7,第1张

概述查看端口的占用情况 Centos6/contos7(ECS) 使用 netstat 查询系统上有多少TCP 多少UDP会话 netstat tun t: tcp u: udp a: all 表示列出所 查看端口的占用情况Centos6/contos7(ECS) 使用

netstat
查询系统上有多少TCP 多少UDP会话

netstat -tun

-t: tcp-u: udp-a: all 表示列出所有的连接,服务监听,Socket资料-n: port number 用数字的形式展示-p: program显示哪个进程监听这个端口-l :Listening,列出当前处于监听状态的服务contos7(Minimal) /contos7(ECS) 使用

命令 : ss

ss 尤其是在有海量并发时,效率更高

-t: tcp-u: udp
显示当前机器上有哪些端口提供服务[root@139 bin]# ss -nlutp
centos7特性
*** 作centos6centos7
文件系统ext4xfs
修改主机名/etc/sysconfig/network/etc/hosthome
修改时区/etc/sysconfig/clocktimedatectl set-timezone Asia/Tokyo
查看ip信息ifconfigifconfig/ip(阿里ECS)
查看DNS信息/etc/resolv.conf-
查看端口状态netsatnetsat/ss

核心服务

*** 作centos6centos7
防火墙iptablesfirewald
服务管理System V initsystemd
时间同步服务ntpchrony

查看防火墙的状态

[root@大爱ECS bin]# sudo systemctl status firewalld● firewalld.service - firewalld - dynamic firewall daemon   Loaded: loaded (/usr/lib/systemd/system/firewalld.service; Disabled; vendor preset: enabled)   Active: inactive (dead) # 关闭     Docs: man:firewalld(1)
其他变化centos7 默认支持docker内核支持: Overlay FSRepo 源支持centos7 的yum源支持一键安装docker不再支持32位 *** 作系统GNOME 3.X (桌面应用)支持40G以太网卡文件目录
-rw-r--r--   1 root root     0 Sep 14 19:11 a2498lrwxrwxrwx   1 root root     7 Feb 22  2019 bin -> usr/bin  #  *** 作系统的命令dr-xr-xr-x.  5 root root  4096 Jun 24 10:17 boot # boot loader files 基础引导文件,引导开机drwxr-xr-x   7 root root  4096 Jun  3 14:41 CloudresetPwdUpdateAgentdrwxr-xr-x   7 root root  4096 Sep  1 22:47 CloudrresetPwdAgentdrwxr-xr-x  19 root root  3020 Sep 15 15:10 dev  # 磁盘,设备文件drwxr-xr-x. 84 root root  4096 Sep 15 15:10 etc  # 存放大量的配置文件drwxr-xr-x.  3 root root  4096 Sep  8 20:32 home # 普通用户的家目录drwxr-xr-x   4 root root  4096 Aug 25 19:25 kong lrwxrwxrwx   1 root root     7 Feb 22  2019 lib -> usr/lib   # 系统的依赖库lrwxrwxrwx   1 root root     9 Feb 22  2019 lib64 -> usr/lib64drwx------.  2 root root 16384 Feb 22  2019 lost+founddrwxr-xr-x.  2 root root  4096 Apr 11  2018 media # 媒体数据drwxr-xr-x.  2 root root  4096 Apr 11  2018 mnt # mount directory 挂载目录drwxr-xr-x   3 root root  4096 Aug 25 17:32 nodedrwxr-xr-x.  2 root root  4096 Sep 13 03:14 opt  # optional add-on apps 原生添加的appdr-xr-xr-x  85 root root     0 Sep 15 15:10 proc # process infornation 进程的信息 如top提取的数据就来自这个目录dr-xr-x---.  8 root root  4096 Sep 15 15:06 root # 管理员的家目录drwxr-xr-x  25 root root   740 Sep 15 15:10 runlrwxrwxrwx   1 root root     8 Feb 22  2019 sbin -> usr/sbindrwxr-xr-x.  2 root root  4096 Apr 11  2018 srv # Service Data 服务数据dr-xr-xr-x  13 root root     0 Sep 15 15:10 sysdrwxrwxrwt. 13 root root  4096 Sep 15 15:13 tmp # 临时文件drwxr-xr-x. 13 root root  4096 Feb 22  2019 usr # 用户安装的软件drwxr-xr-x. 19 root root  4096 Sep 15 15:10 var # 可变的文件,如日志文件/帮助文档
centos6centos7
binbin->usr/bin
sbinsbin->user/sbin
liblib->usr/lib
lib64lib64->usr/lib
-run

centos7 多出来了一个run目录.这个目录类似tmp目录,都用来存放临时文件,但是不同的是它存放的正在运行的服务需要的临时文件

修改时区centos6

就是拷贝一份文件到 /etc/localtime中

cp /usr/share/zoneinfo/Asia/Shanghai  /etc/localtime
centos7

命令: timedatectl

[root@大爱ECS /]# timedatectl       Local time: Sun 2019-09-15 15:40:34 CST  # 本地时间  Universal time: Sun 2019-09-15 07:40:34 UTC  # 世界时间        RTC time: Sun 2019-09-15 07:40:33      # 主板时间       Time zone: Asia/Shanghai (CST,+0800)   # +0800 东八区     NTP enabled: yes    NTP synchronized: no RTC in local TZ: no   # 本地主板时间是否和当前时间保持一致      DST active: n/a

设置本地时间

timedatectl set-timezone Asia/Tokyo

设置主板时间

timedatectl set-local-rtc 1 1 : 表示将硬件的时间调整为和本地时间一致
网卡接口命名centos6

一般命名为:

eth0  eth1  eth2em0   em1   em2em* 类型的网卡是针对戴尔而设计
centos7

默认是基于固件,拓扑,位置信息来分配,但是更加灵活可预知,但是更加难读

强大的参数自动补全
[root@大爱ECS /]# yum install bash-completion

重新登录生效

systemd 服务管理

格式:

systemctl [options] conmand [name]

支持服务的并行启动,缩短开机时间

Systemd系统的服务管理
---centos6centos7
服务管理servicesystemctl
启动项管理(开机启动)chkconfigsystemctl
系统启动级别initsystemctl
定时任务crontimer
日志管理syslogSystemd-journal

还可以 设置环境变量,系统挂载,远程主机管理

systemd 可以管理各种各样的服务,为了区分,他给每个不同的服务取了不同的后缀名

[root@139 ~]# systemctl -t helpAvailable unit types:servicesocketbusnametargetsnapshotdevicemountautomountswaptimerpathslicescope
文件扩展名作用文件扩展名作用
.service用于定义系统服务.snapshot管理系统快照
.target模拟实现运行级别.swapSwap设备
.device定义内核识别设备.automount自动挂载点
.mount文件系统挂载点.path监控文件/目录
.socket进程间通信使用socket文件.scope外部线程
.timer定时器.slice分层次管理系统进程
如果没有扩展名,默认扩展名 .service

Systemd 基本命令

基础命令作用
systemctl,systemctl List-units查看已经激活的单元
systemctl --Failed查看运行失败的单元
systemctl List-unit-files查看所有可用的单元,以及是否开机启动
systemctl help查看单元的帮助手册页
systemctl daemon-reload重新载入 systemd
systemctl start <单元>激活单元
systemctl stop <单元>停止单元
systemctl restart <单元>重启单元
systemctl status <单元>输出单元运行状态
systemctl is-enable<单元>检测单元是否自动启动
systemctl enable <单元>开机启动单元
systemctl enable --Now <单元>设置单元开机启动并且立即启动
systemctl disable <单元>取消开机自动启动
systemctl mask <单元>禁用一个单元
systemctl unmask <单元>取消禁用某个单元
Systemd系统启动级别设置centos6

查看系统的启动级别

[root@139 ~]# ll /etc/rc.dtotal 36drwxr-xr-x. 2 root root 4096 Sep 14 18:34 init.ddrwxr-xr-x. 2 root root 4096 Aug 24 10:58 rc0.ddrwxr-xr-x. 2 root root 4096 Aug 24 10:58 rc1.ddrwxr-xr-x. 2 root root 4096 Aug 24 10:58 rc2.ddrwxr-xr-x. 2 root root 4096 Aug 24 10:58 rc3.ddrwxr-xr-x. 2 root root 4096 Aug 24 10:58 rc4.ddrwxr-xr-x. 2 root root 4096 Aug 24 10:58 rc5.ddrwxr-xr-x. 2 root root 4096 Aug 24 10:58 rc6.d-rw-r--r--  1 root root  473 Apr 26 01:19 rc.local

进入每一个rcX,都能看到在这个启动级别下,启动的服务列表

[root@139 ~]# cd /etc/rc.d/rc3.d[root@139 rc3.d]# lltotal 0lrwxrwxrwx. 1 root root 20 Feb 22  2019 K50netconsole -> ../init.d/netconsolelrwxrwxrwx. 1 root root 17 Feb 22  2019 K90network -> ../init.d/networklrwxrwxrwx  1 root root 28 Jun  3 14:41 S20cloudresetPwdAgent -> ../init.d/cloudresetPwdAgentlrwxrwxrwx  1 root root 34 Jun  3 14:41 S20cloudresetPwdUpdateAgent -> ../init.d/cloudresetPwdUpdateAgentlrwxrwxrwx  1 root root 24 Feb 22  2019 S50multi-queue-hw -> ../init.d/multi-queue-hwlrwxrwxrwx  1 root root 19 Feb 22  2019 S98denyhosts -> ../init.d/denyhosts

在centos6中查询所在的启动模式

runlevel 

进入指定的模式

init 模式表示号数
---SysVintSystemd
关闭系统0runlevel0.target,poweroff.terget
单用户模式1,s,singlerunlevel1.target,rescue.terget (rescue急救模式)
多用户模式2runlevel2.target,multi-user.target
多用户带网络模式3runlevel3.target,multi-user.target
多用户,网络模式,图像化5runlevel5.target,graphical.terget
重启6runlevel6.target,reboot.terget
centos7

查看当前系统所在的启动级别

[root@139 rc3.d]# systemctl get-default multi-user.target

改变启动级别慎用,需要reboot才能生效

[root@139 rc3.d]# systemctl set-default multi-user.targetRemoved symlink /etc/systemd/system/default.target.Created symlink from /etc/systemd/system/default.target to /usr/lib/systemd/system/multi-user.target.它是创建了一个连接
永久性的修改默认的启动级别
修改这个配置文件  /etc/inittab
防火墙 firewalld在centos7中 firewadlld和iptables共存firewalld 底层调用的iotables

firewalld使用区域管理

centos7上的9个区域

[root@139 rc3.d]# ls /usr/lib/firewalld/zones/block.xml  # (阻塞区域)任何传入网络的数据包都将被阻止dmz.xml    # (隔离区域) 直选择接受传入的网络链接drop.xml   # (丢弃区域) 任何传入网络的连接都被拒绝external.xml  # (外部区域) 不相信网络上的其他计算机不会损伤你的计算机,只选择接受传入网络连接home.xml  # (家庭区域) 相信网络上的其他计算机不会损伤你的计算机internal.xml  # (内部区域) 相信网络上的其他计算机,不会损伤你的计算机,只选择接受传入的网络连接public.xml  # (公共区域)不相信网络上的任何计算机,只根据配置选择接受网络连接trusted.xml    (信任区域) 所有的网络连接都可以接受work.xml    # (工作区域) 相信网络上的其他计算机不会损伤你的计算机

家庭网络模式,相信网络上的计算机,安全系数低

[root@139 zones]# cat home.xml <?xml version="1.0" enCoding="utf-8"?><zone>  <short>Home</short>  <description>For use in home areas. You mostly trust the other computers on networks to not harm your computer. Only selected incoming connections are accepted.</description>  <service name="ssh"/>  <service name="mdns"/>  <service name="samba-clIEnt"/>  <service name="dhcpv6-clIEnt"/></zone>

默认使用的 public.xml 在公共网络上使用,不相信网络上的任意一个计算机器

启动防火墙
[root@139 zones]# systemctl start firewalld.service
查看
[root@139 zones]# [root@139 zones]# systemctl start firewalld.service-bash: [root@139: command not found[root@139 zones]# systemctl status firewalld.service● firewalld.service - firewalld - dynamic firewall daemon   Loaded: loaded (/usr/lib/systemd/system/firewalld.service; Disabled; vendor preset: enabled)   Active: active (running) since Sun 2019-09-15 17:07:43 CST; 22s ago     Docs: man:firewalld(1) Main PID: 4461 (firewalld)   CGroup: /system.slice/firewalld.service           └─4461 /usr/bin/python -Es /usr/sbin/firewalld --nofork --nopIDSep 15 17:07:42 139.9.92.235 systemd[1]: Starting firewalld - dynamic firewall daemon...Sep 15 17:07:43 139.9.92.235 systemd[1]: Started firewalld - dynamic firewall daemon.
查看防火墙使用的默认区域 -- public (active)
[root@139 zones]# firewall-cmd  --List-allpublic (active)  target: default  icmp-block-inversion: no  interfaces: eth0  sources:  # 控制访问我的源ip的限制  services: dhcpv6-clIEnt ssh # 本机哪些服务对外开放,仅这两个服务提供外部访问  ports: # 对外提供的端口  protocols:  # 对外开放的协议  masquerade: no  forward-ports: # 目的端口的转发  source-ports:   # 源 端口的转发  icmp-blocks:  #   rich rules:# 更高级配置,如只允许某一个ip访问
更改默认区域
[root@139 zones]# firewall-cmd --set-default-zone=homesuccess再次查看[root@139 zones]# firewall-cmd --List-allhome (active)  target: default
firewalld中的区域与接口

一个网卡的接口,只能属于一个zone,不能同属于多个zone

1个zone 可以有多个网卡接口

任何配置了一个网卡接口的区域,都是活跃区域

查看本机的网卡接口

[root@139 zones]# ip a# 本地回环网卡1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNowN group default qlen 1000    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00    inet 127.0.0.1/8 scope host lo       valID_lft forever preferred_lft forever    inet6 ::1/128 scope host        valID_lft forever preferred_lft forever2: eth0: <broADCAST,MulTICAST,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000    link/ether fa:16:3e:d6:74:91 brd ff:ff:ff:ff:ff:ff    inet 192.168.0.32/24 brd 192.168.0.255 scope global noprefixroute dynamic eth0       valID_lft 81533sec preferred_lft 81533sec    inet6 fe80::f816:3eff:fed6:7491/64 scope link        valID_lft forever preferred_lft forever
查看网卡接口现在属于哪个区域
[root@139 zones]# firewall-cmd --get-active-zonespublic (active)  target: default  icmp-block-inversion: no  interfaces: eth0  sources:   services: dhcpv6-clIEnt ssh  ports:   protocols:   masquerade: no  forward-ports:   source-ports:   icmp-blocks:   rich rules: 

可以看到,eth0,现在属于 默认的public区域

将网卡接口转移到其他区域
[root@139 zones]# firewall-cmd --zone=home --change-interface=eth0The interface is under control of NetworkManager,setting zone to 'home'.success再次查看现在活跃的区域,发现home替换了pulic,因为,配置了网卡接口的区域肯定是活跃的区域[root@139 zones]# firewall-cmd --get-active-zoneshome  interfaces: eth0
firewalld防火墙的端口配置规则及添加白名单

默认情况下,打开防火墙后从服务器往外随意发送数据,但是任何进入服务器方向的数据都会被墙掉

其实开放了这个端口,就等于让占用这个端口的服务对外提供服务

接下来设置白名单:

配置指定服务对外提供服务配置指定端口对外开放配置指定ip访问机器
[root@139 bin]# firewall-cmd --List-allpublic (active)  target: default  icmp-block-inversion: no  interfaces: eth0  sources:   services: dhcpv6-clIEnt ssh # 配置了 dhcpv6-clIEnt,及ssh(允许远程登录)  ports:   protocols:   masquerade: no  forward-ports:   source-ports:   icmp-blocks:   rich rules: 
添加对外提供服务的端口号
# 查看机器上对外提供服务的端口,最下面9998端口是服务器上对外提供服务应用程序# 默认情况下,通过浏览器是访问不到它的,会被墙掉,需要把这个端口添加到白名单才能访问[root@139 bin]# ss -nlutpNetID State      Recv-Q Send-Q                               Local Address:Port                                              Peer Address:Port              udp   UNCONN     0      0                                                *:68                                                           *:*                   users:(("dhclIEnt",pID=3790,fd=6))udp   UNCONN     0      0                                     192.168.0.32:123                                                          *:*                   users:(("ntpd",pID=3718,fd=21))udp   UNCONN     0      0                                        127.0.0.1:123                                                          *:*                   users:(("ntpd",fd=18))udp   UNCONN     0      0                                                *:123                                                          *:*                   users:(("ntpd",fd=16))udp   UNCONN     0      0                   fe80::f816:3eff:fed6:7491%eth0:123                                                         :::*                   users:(("ntpd",fd=22))udp   UNCONN     0      0                                              ::1:123                                                         :::*                   users:(("ntpd",fd=19))udp   UNCONN     0      0                                               :::123                                                         :::*                   users:(("ntpd",fd=17))tcp   ListEN     0      128                                              *:22                                                           *:*                   users:(("sshd",pID=4185,fd=3))tcp   ListEN     0      50                                              :::9998                                                        :::*                   users:(("java",pID=4939,fd=203))tcp   ListEN     0      1024                                            :::9999                                                        :::*                   users:(("java",fd=202))tcp   ListEN     0      50                                              :::7473                                                        :::*                   users:(("java",fd=208))tcp   ListEN     0      128                                             :::22                                                          :::*                   users:(("sshd",fd=4))# 为public域添加允许对外提供的端口[root@139 bin]# firewall-cmd --zone=public --add-port=9998/tcpsuccess# 再次查看[root@139 bin]# firewall-cmd --List-allpublic (active)  target: default  icmp-block-inversion: no  interfaces: eth0  sources:   services: dhcpv6-clIEnt ssh  ports: 9998/tcp  protocols:   masquerade: no  forward-ports:   source-ports:   icmp-blocks:   rich rules: # 不需要重启服务,
移除白名单中的端口
[root@139 bin]# firewall-cmd --zone=public --remove-port=端口号 

通过这种方式添加的配置,是临时的,重启服务后,配置会消失

永久生效
[root@139 bin]# firewall-cmd --zone=public --add-port=9998/tcp --permanent    (permanent永久的)[root@139 bin]# firewall-cmd --zone=public --remove-port=端口号  --permanent
firewalld防火墙的配置规则及添加服务白名单

如果服务器上的应用程序是以服务的形式存在的,想让他对它提供服务,仅仅需要将它添加到服务的白名单就行

其实服务的白名单规则,和上面的直接开放端口是一样的,只不过把端口包装成服务更容易让人理解

查看系统上服务的xml配置文件

[root@139 zones]# ls  /usr/lib/firewalld/services/amanda-clIEnt.xml        elasticsearch.xml        jenkins.xml      MysqL.xml                 puppetmaster.xml       syncthing-gui.xmlamanda-k5-clIEnt.xml     freeipa-ldaps.xml        kadmin.xml       nfs3.xml                  quassel.xml            syncthing.xmlbacula-clIEnt.xml        freeipa-ldap.xml         kerberos.xml     nfs.xml                   radius.xml             synergy.xmlbacula.xml               freeipa-replication.xml  kibana.xml       nmea-0183.xml             redis.xml              syslog-tls.xmlbgp.xml                  freeipa-trust.xml        klogin.xml       nrpe.xml                  RH-Satellite-6.xml     syslog.xmlbitcoin-rpc.xml          ftp.xml                  kpasswd.xml      ntp.xml                   rpc-bind.xml           telnet.xmlbitcoin-testnet-rpc.xml  ganglia-clIEnt.xml       kprop.xml        openvpn.xml               rsh.xml                tftp-clIEnt.xmlbitcoin-testnet.xml      ganglia-master.xml       kshell.xml       ovirt-imageio.xml         rsyncd.xml             tftp.xmlbitcoin.xml              git.xml                  ldaps.xml        ovirt-storageconsole.xml  samba-clIEnt.xml       tinc.xmlceph-mon.xml             gre.xml                  ldap.xml         ovirt-vmconsole.xml       samba.xml              tor-socks.xmlceph.xml                 high-availability.xml    libvirt-tls.xml  pmcd.xml                  sane.xml               transmission-clIEnt.xmlcfengine.xml             https.xml                libvirt.xml      pmproxy.xml               sips.xml               upnp-clIEnt.xmlcondor-collector.xml     http.xml                 managesIEve.xml  pmwebAPIs.xml             sip.xml                vdsm.xmlctdb.xml                 imaps.xml                mdns.xml         pmwebAPI.xml              smtp-submission.xml    vnc-server.xmldhcpv6-clIEnt.xml        imap.xml                 minIDlna.xml     pop3s.xml                 smtps.xml              wbem-https.xmldhcpv6.xml               ipp-clIEnt.xml           mongodb.xml      pop3.xml                  smtp.xml               xmpp-bosh.xmldhcp.xml                 ipp.xml                  mosh.xml         postgresql.xml            snmptrap.xml           xmpp-clIEnt.xmldns.xml                  ipsec.xml                mountd.xml       privoxy.xml               snmp.xml               xmpp-local.xmldocker-registry.xml      ircs.xml                 mssql.xml        proxy-dhcp.xml            spIDeroak-lansync.xml  xmpp-server.xmldocker-swarm.xml         irc.xml                  ms-wbt.xml       ptp.xml                   squID.xml              zabbix-agent.xmldropBox-lansync.xml      iscsi-target.xml         murmur.xml       pulseaudio.xml            ssh.xml                zabbix-server.xml

随便找一个打开

[root@139 services]# cat ssh.xml <?xml version="1.0" enCoding="utf-8"?><service>  <short>SSH</short>  <description>Secure Shell (SSH) is a protocol for logging into and executing commands on remote machines. It provIDes secure encrypted communications. If you plan on accessing your machine remotely via SSH over a firewalled interface,enable this option. You need the openssh-server package installed for this option to be useful.</description>  <port protocol="tcp" port="22"/></service>

其实可以看到,服务中有一个配置添加的就是端口的信息,把服务添加到白名单 == 把服务占用的端口添加到白名单

添加服务到白名单
把http服务添加到白名单中,开放80端口!!! [root@139 services]# firewall-cmd --zone=public --add-service=http
移除服务
[root@139 services]# firewall-cmd --zone=public --remove-service=http

同样想持久话,添加 -permanent

ip白名单
[root@ecs-t6-large-2-linux-20190918000015 ~]# firewall-cmd --permanent --add-rich-rule="rule family="ipv4" source address="211.123.123151" port protocol="tcp" port="9200" accept"success[root@ecs-t6-large-2-linux-20190918000015 ~]# firewall-cmd --permanent --add-rich-rule="rule family="ipv4" source address="211.123.123151" port protocol="tcp" port="9200" accept"success[root@ecs-t6-large-2-linux-20190918000015 ~]# firewall-cmd --permanent --add-rich-rule="rule family="ipv4" source address="211.123.123151" port protocol="tcp" port="9300" accept"success[root@ecs-t6-large-2-linux-20190918000015 ~]# firewall-cmd --permanent --add-rich-rule="rule family="ipv4" source address="211.123.123151" port protocol="tcp" port="9998" accept"success[root@ecs-t6-large-2-linux-20190918000015 ~]# firewall-cmd --permanent --add-rich-rule="rule family="ipv4" source address="localhost" port protocol="tcp" port="9998" accept"Error: INVALID_ADDR: localhost[root@ecs-t6-large-2-linux-20190918000015 ~]# firewall-cmd --permanent --add-rich-rule="rule family="ipv4" source address="127.0.0.1" port protocol="tcp" port="9998" accept"success  [root@ecs-t6-large-2-linux-20190918000015 ~]# firewall-cmd --reload success[root@ecs-t6-large-2-linux-20190918000015 ~]# firewall-cmd --List-all
总结

以上是内存溢出为你收集整理的拓展 centos 7全部内容,希望文章能够帮你解决拓展 centos 7所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/yw/1014946.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-22
下一篇 2022-05-22

发表评论

登录后才能评论

评论列表(0条)

保存