日常運行メンテナンス(三)


一.iptablesルールの保存とバックアップ:


ファイアウォール構成を保存するには、次の手順に従います.
[root@ligen ~]# service iptables save
iptables: Saving firewall rules to /etc/sysconfig/iptables:[     ]

バックアップファイアウォールの構成:
[root@ligen ~]# iptables-save > myipt.obt
[root@ligen ~]# cat myipt.obt 

バックアップのリストア:
[root@ligen ~]# iptables-restore < myipt.obt

二.ファイアウォールfirewalld:


firewallサービスを開始するには、次の手順に従います.
[root@ligen ~]# systemctl restart firewalld
[root@ligen ~]# systemctl enable firewalld
[root@ligen ~]# systemctl disable iptables
[root@ligen ~]# systemctl stop iptables
[root@ligen ~]# systemctl status firewalld
● firewalld.service - firewalld - dynamic firewall daemon
   Loaded: loaded (/usr/lib/systemd/system/firewalld.service; enabled; vendor preset: enabled)
   Active: active (running) since   2019-04-17 19:49:16 CST; 2min 26s ago
     Docs: man:firewalld(1)
 Main PID: 13751 (firewalld)
   CGroup: /system.slice/firewalld.service
           └─13751 /usr/bin/python -Es /usr/sbin/firewalld --nofork --nopid
  • zone:DROP:破棄、受信したパケットの破棄、block:制限を無視し、受信したネットワーク接続はipv 4とIP v 6のicmp-host-prohibited情報とipv 6 jujueによって行われる.public:パブリック.パブリックで使用すると、ネットワーク内の他のコンピュータを信用できず、選択した接続しか受信できません.external:外部.特にルータに偽装機能を有効にした外部ネットワーク.dmz:非軍事区.この領域では、ワーク:ワークスペースに公開アクセスできます.基本的には、ネットワーク内の他のコンピュータはあなたのコンピュータに危害を及ぼさず、選択された接続だけを受信すると信じています.internal:内部.内部ネットワークに使用します.ネットワーク内の他のコンピュータがコンピュータを脅かすことはないと基本的に信頼できます.trusted:信頼.すべてのネットワーク接続を受け入れることができます.取得システムの移動先zones:
  •     [root@ligen ~]# firewall-cmd --get-zones
        block dmz drop external home internal public trusted work
    

    システムのデフォルトzoneを表示するには、次のコマンドを実行します.
    [root@ligen ~]# firewall-cmd --get-default-zone
    work
    
    [root@ligen ~]# firewall-cmd --set-default-zone=public
    [root@ligen ~]# firewall-cmd --get-zone-of-interface=ens33
    public
    [root@ligen ~]# firewall-cmd --set-default-zone=public
    success
    [root@ligen ~]# firewall-cmd --get-default-zone
    public
    [root@ligen ~]# firewall-cmd --get-zone-of-interface=ens33
    public
    [root@ligen ~]# firewall-cmd --zone=public --add-interface=lo
    success
    
    [root@ligen ~]# firewall-cmd --zone=work --change-interface=lo
    success
    [root@ligen ~]# firewall-cmd --zone=work --remove-interface=lo
    success
    [root@ligen ~]# firewall-cmd --get-active-zones
    public
      interfaces: ens33
    
  • サービス:zoneごとに異なるサービスが使用されています.サービスは1つのサービスに対するiptablesルールです.Servicesは、/usr/lib/firewalld/services/ディレクトリの下にある/etc/firewalld/services/ディレクトリの下で、実際に有効な構成/etc/firewalld/servicesディレクトリによって定義されます(デフォルトは空).
  •     [root@ligen ~]# ls /usr/lib/firewalld/services/
        amanda-client.xml        jenkins.xml               puppetmaster.xml
        amanda-k5-client.xml     kadmin.xml                quassel.xml
        bacula-client.xml        kerberos.xml              radius.xml
        bacula.xml               kibana.xml                redis.xml
        bgp.xml                  klogin.xml                RH-Satellite-6.xml
        bitcoin-rpc.xml          kpasswd.xml               rpc-bind.xml
        bitcoin-testnet-rpc.xml  kprop.xml                 rsh.xml
        bitcoin-testnet.xml      kshell.xml                rsyncd.xml
        
        [root@ligen ~]# ls /etc/firewalld/services/
    

    zoneの下にあるサービスを表示します.
    [root@ligen ~]# firewall-cmd --list-services
    ssh dhcpv6-client
    [root@ligen ~]# firewall-cmd --zone=public --list=service
    usage: see firewall-cmd man page
    firewall-cmd: error: ambiguous option: --list=service could match --list-lockdown-whitelist-contexts, --list-all, --list-lockdown-whitelist-uids, --list-ports, --list
    

    zoneの下にサービスがあります.これは、このサービスが信頼されていることを意味します.
    [root@ligen ~]# firewall-cmd --zone=public --add-service=http
    success
    [root@ligen ~]# firewall-cmd --zone=public --list-service
    ssh dhcpv6-client http
    

    永続的な有効化:
        [root@ligen ~]# firewall-cmd --zone=public --add-service=http --permanent 
     :
    ftp  1122  work zone ftp:
    [root@ligen ~]# cp /usr/lib/firewalld/services/ftp.xml /etc/firewalld/services/ftp.xml
    [root@ligen services]# vim ftp.xml    
    [root@ligen firewalld]# cp /usr/lib/firewalld/zones/work.xml /etc/firewalld/zones/
    [root@ligen firewalld]# cat zones/work.xml 
    
    
      Work
      For use in work areas. You mostly trust the other computers on networks to not harm your computer. Only selected incoming connections are accepted.
      
         # 
      
    
    

    再ロード:
    [root@ligen firewalld]# firewall-cmd --reload
    success
    

    表示:
    [root@ligen firewalld]# firewall-cmd --zone=work --list-service
    ssh ftp dhcpv6-client
    

    linuxタスク計画cron:

    root@ecs-cebb ~]# crontab -e    # 
    no crontab for root - using an empty one
    crontab: installing new crontab
    [root@ecs-cebb ~]# crontab -l      # 
    1 10 1-10 */2 2,5 /bin/bash /usr/local/sbin/123.sh >>/tmp/123.log 2>>/tmp/123.log
    [root@ecs-cebb ~]# ps aux | grep cron   # 
    root      2323  0.0  0.0 112708   976 pts/0    S+   21:40   0:00 grep --color=auto cron
    root      6536  0.0  0.0 126320  1660 ?        Ss   Apr02   0:01 /usr/sbin/crond -n
    [root@ecs-cebb ~]# systemctl status crond
    ● crond.service - Command Scheduler
       Loaded: loaded (/usr/lib/systemd/system/crond.service; enabled; vendor preset: enabled)
       Active: active (running) since Tue 2019-04-02 10:04:54 CST; 2 weeks 3 days ago
     Main PID: 6536 (crond)
       [root@ecs-cebb ~]# crontab -r    # 
    

    chkconfigサービス管理ツール:

    linux /etc/init.d/
    [root@ligen ~]# ls /etc/init.d
    cloudResetPwdAgent        denyhosts  multi-queue-hw  network
    cloudResetPwdUpdateAgent  functions  netconsole      README
    

    システムのプリセットサービスは、サービス名start|stop|restartによって実現することができる.ここのサービス名は/etc/initです.d/,コマンド/etc/initも使用できる.d/サービス名実装.
    [root@ligen ~]# chkconfig --list    # 。
    cloudResetPwdAgent	0:off	1:off	2:on	3:on	4:on	5:on	6:off
    cloudResetPwdUpdateAgent	0:off	1:off	2:on	3:on	4:on	5:on	6:off
    denyhosts      	0:off	1:off	2:on	3:on	4:on	5:on	6:off
    multi-queue-hw 	0:off	1:off	2:on	3:on	4:on	5:on	6:off
    netconsole     	0:off	1:off	2:off	3:off	4:off	5:off	6:off
    network        	0:off	1:off	2:off	3:off	4:off	5:off	6:off
    

    運転レベル:0:シャットダウン1:シングルユーザモード2:nfsなしマルチユーザモードをサポート3:フルマルチユーザモード4:予約5:グラフィック登録方式6:再起動
    [root@ligen ~]# chkconfig --level 2 network on
    [root@ligen ~]# chkconfig --level 345 network off
    [root@ligen ~]# chkconfig network off
    

    システムサービスの追加:
    [root@ligen ~]# cp /etc/init.d/network /etc/init.d/123
    [root@ligen ~]# chkconfig --add 123
    [root@ligen ~]# chkconfig --list |grep 123
    123            	0:off	1:off	2:on	3:on	4:on	5:on	6:off
    

    削除:
    [root@ligen ~]# chkconfig --del 123
    

    Systemdサービス:


    Systemは複数のサービスの同時起動をサポートし、sysvは1つずつ起動するしかない.システムのすべてのサービスを一覧表示します.
    [root@ligen ~]# systemctl list-units --all --type=service
    

    対応するサーバのスクリプトパス:/usr/lib/systemd/system/system/
    [root@ligen ~]# ls /usr/lib/systemd/system
    system/                    systemd-journald           systemd-sleep
    systemd                    systemd-localed            systemd-socket-proxyd
    systemd-ac-power           systemd-logind             systemd-sysctl
    systemd-activate           systemd-machined           systemd-sysv-install
    systemd-backlight          systemd-machine-id-commit  systemd-timedated
    systemd-binfmt             systemd-modules-load       systemd-udevd
    systemd-bootchart          systemd-pull               systemd-update-done
    

    unit分類:service:システムサービス.target:複数のunitからなるグループdevice:ハードウェアデバイスmount:ファイルシステムマウントautomuont:自動マウントポイントpath:ファイルまたはパスscope:systemdが起動していない外部プロセスslice:プロセスグループsnapshot:systemdスナップショットsocket:プロセス間ソケットswap:swapファイルtimer:タイマsystemctlに関する一般的なコマンド:
    [root@ligen ~]# systemctl restart crond
    [root@ligen ~]# systemctl stop crond
    [root@ligen ~]# systemctl status crond
    [root@ligen ~]# systemctl start crond
    [root@ligen ~]# systemctl is-enabled crond
    enabled
    

    unitに関する一般的なコマンド:
    [root@ligen ~]# systemctl list-units
    [root@ligen ~]# systemctl list-units -all
    [root@ligen ~]# systemctl list-units -all --state=inactive
    [root@ligen ~]# systemctl list-units --all --type=target
    [root@ligen ~]# systemctl list-units --type=service
    

    target:


    [root@ligen~]#systemctl list-unit-files--type=target#システムのすべてのtargetを表示[root@ligen ~]# systemctl list-dependencies multi-user.target#targetに含まれるunitを表示する[root@ligen~]#systemctl get-default#デフォルトのtarget multi-userを表示する.target target、unit、serviceの関係:targetには多くのservice targetが含まれています.多くのunitからなるserviceはunitに属します.