CentOS 7ファイアウォールの問題
Linuxファイアウォールの操作中に、
error reading information on service iptables: No such file or directory
CentOS 7.0以前、ファイアウォールの基本操作文は
1
結果を表示:
1 2 3 4 5
CentOS 6.5ファイアウォールを閉じる
1 2
CentOS 7.0ではデフォルトでファイアウォールとしてfirewallが使用されていますが、ここではiptablesファイアウォールステップに変更します.
Firewall-cmd--state#デフォルトのファイアウォールステータスを表示(閉じたらnotrunning、開いたらrunning)
1 2
ファイアウォールのステータスを確認します.
centos 7からsystemctlを使用してサービスとプログラムを管理し、サービスとchkconfigを含む.
1 2
または
1 2 3 4
ファイアウォールを閉じる:
systemctl stop firewalld.サービス停止サービス#firewall起動禁止
1 2
1 2 3 4 5 6 7 8
Centos 7 firewallコマンド:
すでにオープンしているポートを表示するには、次の手順に従います.
オープンポート
コマンドの意味:
-zone#役割ドメイン
-add-port=80/tcp#追加ポート:ポート/通信プロトコル
-permanent#は永続的に有効です.このパラメータが再起動されてから失効しません.
ファイアウォールの再起動
保存:
開いているポートを表示するには、次の手順に従います.
ファイアウォールを閉じる1)永続性が有効になり、再起動しても元に戻らない
オン:chkconfig iptables on
閉じる:chkconfig iptables off
2)即時発効、再起動後復元
オン:service iptables start
閉じる:service iptables stop
ファイアウォールのステータスの表示:service iptables status
次にCentOS 7と6のデフォルトファイアウォールの違いを説明します
CentOS 7のデフォルトではファイアウォールとしてfirewallが使用されていますが、iptablesを使用するには再設定が必要です
1、ファイアウォールを直接閉じる
systemctl stop firewalld.サービス#firewallの停止
systemctl disable firewalld.サービス#firewall起動禁止
2、iptablesサービスの設定
yum -y install iptables-services
ファイアウォールポート3306を追加するなど、ファイアウォール構成を変更する場合
vi/etc/sysconfig/iptables
ルールの追加
-A INPUT -m state --state NEW -m tcp -p tcp --dport 3306 -j ACCEPT
保存終了後
systemctl restart iptables.サービス#ファイアウォールを再起動して構成を有効にする
systemctl enable iptables.サービス#ファイアウォールの起動を設定
最後にシステムを再起動して設定を有効にすればいいです.
systemctl start iptables.サービス#ファイアウォールを開く
systemctl stop iptables.サービス#ファイアウォールを閉じる
ホストがVM CentOSのサイトにアクセスできないことを解決
この間、仮想マシンにCentOS 6を搭載しました.2、そしてapache+php+mysqlを配合して、しかし本機はアクセスすることができません.ずっと振り回されなかった.
具体的には
1.本機能ping通仮想機
2.仮想マシンでも本体をpingできる
3.仮想機能が自分のWebにアクセスする
4.本機は仮想機のwebにアクセスできない
その後、ファイアウォールが80ポートを遮断したことが分かった.
サーバーの80ポートがファイアウォールで詰まっているかどうかを確認します.コマンド:telnet server_ip 80でテストします.
解決策は次のとおりです.
/sbin/iptables -I INPUT -p tcp --dport 80 -j ACCEPT
保存:
/etc/rc.d/init.d/iptables save
ファイアウォールの再起動
/etc/init.d/iptables restart
CentOSファイアウォールのシャットダウンは、サービスをシャットダウンします.
CentOSファイアウォール情報を表示する:/etc/init.d/iptables status
CentOSファイアウォールサービスをオフにする:/etc/init.d/iptables stop
error reading information on service iptables: No such file or directory
CentOS 7.0以前、ファイアウォールの基本操作文は
1
[linuxidc@localhost ~]$service iptable status
結果を表示:
1 2 3 4 5
[linuxidc@localhost ~]$service iptable status
Redirecting
to
/bin/systemctl status iptable.service
● iptable.service
Loaded:
not
-found (Reason:
No
such file
or
directory)
Active: inactive (dead)
--
CentOS 6.5ファイアウォールを閉じる
1 2
[root@localhost ~]#servcie iptables stop
--
[root@localhost ~]#chkconfig iptables
off
--
CentOS 7.0ではデフォルトでファイアウォールとしてfirewallが使用されていますが、ここではiptablesファイアウォールステップに変更します.
Firewall-cmd--state#デフォルトのファイアウォールステータスを表示(閉じたらnotrunning、開いたらrunning)
1 2
[root@localhost ~]#firewall-cmd
--state
not
running
ファイアウォールのステータスを確認します.
centos 7からsystemctlを使用してサービスとプログラムを管理し、サービスとchkconfigを含む.
1 2
[root@localhost ~]#systemctl list-unit-files|grep firewalld.service
--
firewalld.service disabled
または
1 2 3 4
[root@localhost ~]#systemctl status firewalld.service
● firewalld.service - firewalld -
dynamic
firewall daemon
Loaded: loaded (/usr/lib/systemd/system/firewalld.service; disabled; vendor preset: enabled)
Active: inactive (dead)
ファイアウォールを閉じる:
systemctl stop firewalld.サービス停止サービス#firewall起動禁止
1 2
[root@localhost ~]#systemctl stop firewalld.service
[root@localhost ~]#systemctl disable firewalld.service
1 2 3 4 5 6 7 8
: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;echo $?
:systemctl list-unit-files|grep enabled
Centos 7 firewallコマンド:
すでにオープンしているポートを表示するには、次の手順に従います.
firewall-cmd --list-ports
オープンポート
firewall-cmd --zone=public --add-port=80/tcp --permanent
コマンドの意味:
-zone#役割ドメイン
-add-port=80/tcp#追加ポート:ポート/通信プロトコル
-permanent#は永続的に有効です.このパラメータが再起動されてから失効しません.
ファイアウォールの再起動
firewall-cmd --reload # firewall
systemctl stop firewalld.service # firewall
systemctl disable firewalld.service # firewall
firewall-cmd --state #查看默认防火墙状态(关闭后显示notrunning,开启后显示running)
CentOS 7 以下版本 iptables 命令
如要开放80,22,8080 端口,输入以下命令即可
/sbin/iptables -I INPUT -p tcp --dport 80 -j ACCEPT
/sbin/iptables -I INPUT -p tcp --dport 22 -j ACCEPT
/sbin/iptables -I INPUT -p tcp --dport 8080 -j ACCEPT
保存:
/etc/rc.d/init.d/iptables save
開いているポートを表示するには、次の手順に従います.
/etc/init.d/iptables status
ファイアウォールを閉じる1)永続性が有効になり、再起動しても元に戻らない
オン:chkconfig iptables on
閉じる:chkconfig iptables off
2)即時発効、再起動後復元
オン:service iptables start
閉じる:service iptables stop
ファイアウォールのステータスの表示:service iptables status
次にCentOS 7と6のデフォルトファイアウォールの違いを説明します
CentOS 7のデフォルトではファイアウォールとしてfirewallが使用されていますが、iptablesを使用するには再設定が必要です
1、ファイアウォールを直接閉じる
systemctl stop firewalld.サービス#firewallの停止
systemctl disable firewalld.サービス#firewall起動禁止
2、iptablesサービスの設定
yum -y install iptables-services
ファイアウォールポート3306を追加するなど、ファイアウォール構成を変更する場合
vi/etc/sysconfig/iptables
ルールの追加
-A INPUT -m state --state NEW -m tcp -p tcp --dport 3306 -j ACCEPT
保存終了後
systemctl restart iptables.サービス#ファイアウォールを再起動して構成を有効にする
systemctl enable iptables.サービス#ファイアウォールの起動を設定
最後にシステムを再起動して設定を有効にすればいいです.
systemctl start iptables.サービス#ファイアウォールを開く
systemctl stop iptables.サービス#ファイアウォールを閉じる
ホストがVM CentOSのサイトにアクセスできないことを解決
この間、仮想マシンにCentOS 6を搭載しました.2、そしてapache+php+mysqlを配合して、しかし本機はアクセスすることができません.ずっと振り回されなかった.
具体的には
1.本機能ping通仮想機
2.仮想マシンでも本体をpingできる
3.仮想機能が自分のWebにアクセスする
4.本機は仮想機のwebにアクセスできない
その後、ファイアウォールが80ポートを遮断したことが分かった.
サーバーの80ポートがファイアウォールで詰まっているかどうかを確認します.コマンド:telnet server_ip 80でテストします.
解決策は次のとおりです.
/sbin/iptables -I INPUT -p tcp --dport 80 -j ACCEPT
保存:
/etc/rc.d/init.d/iptables save
ファイアウォールの再起動
/etc/init.d/iptables restart
CentOSファイアウォールのシャットダウンは、サービスをシャットダウンします.
CentOSファイアウォール情報を表示する:/etc/init.d/iptables status
CentOSファイアウォールサービスをオフにする:/etc/init.d/iptables stop