CentOS 7 :Failed to start IPv4 firewall with iptables.

CentOS 7 :Failed to start IPv4 firewall with iptables.

2017年12月08日 14:13:57 李爽11 閱讀數:8491html

 版權聲明:本文爲博主原創文章,未經博主容許不得轉載。 https://blog.csdn.net/u013028876/article/details/78750561linux

    用iptables開啓防火牆報錯: Failed to start  IPv4 firewall with iptables.vim

    錯誤緣由:由於centos7.0默認不是使用iptables方式管理,而是firewalld方式。CentOS6.0防火牆用iptables管理。centos

        解決辦法有兩個:使用firewalld方式。或者關閉firewalld,而後安裝iptables。tcp

1、關閉firewalld,安裝iptables過程:centos7

 

中止並屏蔽firewalld:spa

 

 
  1. systemctl stop firewalld.net

  2. systemctl mask firewalldrest

 

安裝iptables-services:code

 

yum install iptables-services

 

設置開機啓動:

 

systemctl enable iptables

 

中止/啓動/重啓 防火牆:

 

 
  1. systemctl [stop|start|restart] iptables

  2. #or

  3. service iptables [stop|start|restart]

 

保存防火牆配置:

 

 
  1. service iptables save

  2. #or

  3. /usr/libexec/iptables/iptables.init save

 

 

     按照上述命令配置後的界面

2、從iptables切換回firewalld

    一、先看firewalld的狀態:inactive

     

    二、安裝firewalld

   三、切換到firewalld,切換過程與切換iptables同樣

 

/************下面是iptables的一些命令*******************************/

 

查詢防火牆狀態:

[root@localhost ~]# service  iptables status

中止防火牆:

[root@localhost ~]# service  iptables stop 

啓動防火牆:

[root@localhost ~]# service  iptables start 

重啓防火牆:

[root@localhost ~]# service  iptables restart 

永久關閉防火牆:

[root@localhost ~]# chkconfig  iptables off 

永久關閉後啓用:

[root@localhost ~]# chkconfig  iptables on

開啓端口:

[root@localhost ~]# vim/etc/sysconfig/iptables

 

/**********下面是firewalld的一些命令*****************************/

 

#systemctl statusfirewalld  //查看狀態,看電腦上是否已經安裝firewalld

#yum installfirewalld  //安裝firewalld防火牆

#systemctl startfirewalld.service   //開啓防火牆

#systemctl stop firewalld.service  //關閉防火牆

#systemctl enable firewalld.service //設置開機自動啓動

#systemctl disable firewalld.service  //設置關閉開機制動啓動

#firewall-cmd--reload  //在不改變狀態的條件下從新加載防火牆

啓用某個服務

#firewall-cmd --zone=public --add-service=https  //臨時

#firewall-cmd --permanent --zone=public --add-service=https  //永久

開啓某個端口

#firewall-cmd--permanent --zone=public --add-port=8080-8081/tcp  //永久

#firewall-cmd  --zone=public --add-port=8080-8081/tcp   //臨時

查看開啓的端口和服務

#firewall-cmd--permanent --zone=public --list-services   //服務空格隔開 例如 dhcpv6-client https ss  

#firewall-cmd--permanent --zone=public --list-ports //端口空格隔開  例如 8080-8081/tcp 8388/tcp 80/tcp

#systemctl restartfirewalld.service  //修改配置後須要重啓服務使其生效

#firewall-cmd--zone=public --query-port=8080/tcp //查看服務是否生效(例:添加的端口爲8080)


/**********下面是systemctl的一些命令*******************************/

        觀察iptables和firewalld使用的兩組命令,發現三個經常使用的命令:service、chkconfig、systemctl。那麼它們分別是作什麼的呢?(去網上搜索了一下給出了答案)

        systemctl命令是系統服務管理器指令,它實際上將 service 和 chkconfig 這兩個命令組合到一塊兒。

 

任務

舊指令

新指令

使某服務自動啓動

chkconfig --level 3 httpd on

systemctl enable httpd.service

使某服務不自動啓動

chkconfig --level 3 httpd off

systemctl disable httpd.service

檢查服務狀態

service httpd status

systemctl status httpd.service(服務詳細信息) 

systemctl is-active httpd.service(僅顯示是否 Active)

顯示全部已啓動的服務

chkconfig --list

systemctl list-units --type=service

啓動某服務

service httpd start

systemctl start httpd.service

中止某服務

service httpd stop

systemctl stop httpd.service

重啓某服務

service httpd restart

systemctl restart httpd.service

 

 

 

總結:

        記是記不住的,實操才能夠,熟能生巧

        抓住一個問題,深刻去挖,每每能挖出一片,從而掃清一片盲點。深挖能出清泉。

 

參考文章: 

https://www.vkilo.com/rhel-7-iptables-service.html

http://blog.csdn.net/Joe68227597/article/details/75207859 

http://www.linuxidc.com/Linux/2012-06/63111.htm

http://man.linuxde.net/systemctl

相關文章
相關標籤/搜索