CentOS ファイアウォールの操作: ポートのオープン、オープン、クローズ、構成

1. 基本的な使い方


有効: systemctl start firewalld
無効: systemctl stop firewalld
ステータスの表示: systemctl status firewalld
電源オン 無効: systemctl disable firewalld
電源オン 有効: systemctl enable firewalld

systemctl は CentOS7 のサービス管理ツールのメインツールで、これまでのサービスと chkconfig の機能を 1 つに統合したものです サービスの
開始:サービスsystemctl start firewalld.service
の終了: サービスのsystemctl stop firewalld.service
再起動: サービスsystemctl restart firewalld.service
の状態表示:systemctl status firewalld.service
起動時にサービスを有効にする時刻:systemctl enable firewalld.service
起動時 サービスを無効にする:systemctl disable firewalld.service
サービスの電源が入っているかどうかを確認し、開始します:systemctl is-enabled firewalld.service
開始されたサービスのリストを確認します:systemctl list-unit-files|grep enabled
開始に失敗したサービスのリストを確認します:systemctl --failed

2. firewalld-cmd を構成する


バージョンの表示: firewall-cmd --version
ヘルプの firewall-cmd --help
表示: ステータスの firewall-cmd --state
表示: 開いているすべてのポートの表示: firewall-cmd --zone=public --list-ports
ファイアウォール ルールの更新: firewall-cmd --reload
エリア情報の表示: firewall-cmd --get-active-zones
指定したインターフェイスが属するエリアの表示: firewall-cmd --get-zone-of-interface=eth0
すべてのパケットの拒否:firewall-cmd --panic-on
拒否ステータスのキャンセル: firewall-cmd --panic-off
拒否するかどうかの確認: firewall-cmd --query-panic

3. ファイアウォールのポートを開きます


たとえば、ファイアウォールのポート 80 と 3306 を開く必要があります。

ステップ 1: 開いているポート番号を設定する

firewall-cmd --add-service=http --permanent
sudo firewall-cmd --add-port=80/tcp --permanent
sudo firewall-cmd --add-port=3060/tcp --permanent

–permanent は永続的に有効になり、このパラメータを指定しないと再起動すると失敗します。

ステップ 2: ファイアウォールを再起動する

firewall-cmd --reload

ステップ 3: 開いているポート番号を確認する

firewall-cmd --list-all

画像

4.ドッカーポート

  

1. コンテナのポートを問い合わせる

docker ps --format "テーブル { {.ID}}\t{ {.Names}}\t{ {.Ports}}" 

2. コンテナポートマッピング、コンテナマッピングの削除

 

一、安装sshd服务

进入容器

[root@node01 ~]# docker exec -it c00dfd401fa3 bash

安装sshd服务

[root@test /]# yum install -y openssh-server

启动并允许sshd自动启动

[root@test /]# systemctl start sshd

[root@test /]# systemctl enable sshd

二、增加sshd使用的22映射端口

1.关闭容器

[root@node01 ~]# docker stop c00dfd401fa3

2.关闭docker服务

[root@node01 ~]# systemctl stop docker

3.获取container_id

[root@node01 ~]# docker inspect c00dfd401fa3 | grep Id

        "Id""c00dfd401fa3e907f266695c60d823671caff3ff3ef422152a226064f4342ef8",

4.修改容器配置文件hostconfig.json

vi /var/lib/docker/containers/c00dfd401fa3e907f266695c60d823671caff3ff3ef422152a226064f4342ef8/hostconfig.json

修改配置项"PortBindings":{}为"PortBindings":{ "22/tcp":[{ "HostIp":"","HostPort":"10022"}]}

5.修改容器配置文件hostconfig.json

vi /var/lib/docker/containers/c00dfd401fa3e907f266695c60d823671caff3ff3ef422152a226064f4342ef8/config.v2.json

修改配置项"ExposedPorts":{}为"ExposedPorts":{ "22/tcp":{}}

6.启动docker服务

[root@node01 ~]# systemctl start docker

7.启动容器

[root@node01 ~]# docker start c00dfd401fa3

8.验证连接容器

外部网络通过10022端口连接容器

C:\Users\yang>ssh [email protected] -p 10022

The authenticity of host '[192.168.162.128]:10022 ([192.168.162.128]:10022)' can't be established.

ECDSA key fingerprint is SHA256:DcwfgepkosH8q1N8Kp8XD0iNFL8h1sVKO0Al2Bs4hiE.

Are you sure you want to continue connecting (yes/no/[fingerprint])? yes

Warning: Permanently added '[192.168.162.128]:10022' (ECDSA) to the list of known hosts.

[email protected]'s password:

Last login: Sun Oct 24 04:34:08 2021 from gateway

[root@test ~]#

容器所在的宿主机连接容器

[root@node01 ~]# ssh [email protected] -p 22

[email protected]'s password:

Last login: Sun Oct 24 04:34:02 2021 from 192.168.162.1

 

おすすめ

転載: blog.csdn.net/swebin/article/details/132296790