万全哥哥 發表於 2023-9-21 00:00:00

centos7中firewall防火墙命令详解

<p>
        为了架设ss在vultr上买了一个日本的vps 用的是centos7的系统 防火墙是 firewall 捣鼓了两天 在这里总结一下。</p>
<p>
        如果小伙伴也准备在vultr上买vps  在注册是 可以使用这个优惠连接http://www.vultr.com/?ref=6972993-3b 会的到 20$ 的优惠  也就可以免费使用4个月</p>
<p>
        如果你的系统上没有安装使用命令安装</p>
<div class="jb51code">
        <div>
                <div class="syntaxhighlighterbash" id="highlighter_265174">
                        <div class="toolbar">
                                <span>?</span>
</div>
                        <table border="0" cellpadding="0" cellspacing="0"><tbody><tr>
<td class="gutter">
                                                        <div class="line number1 index0 alt2">
                                                                1</div>
                                                </td>
                                                <td class="code">
                                                        <div class="container">
                                                                <div class="line number1 index0 alt2">
                                                                        <code class="bash comments">#yum install firewalld //安装firewalld 防火墙</code>
</div>
                                                        </div>
                                                </td>
                                        </tr></tbody></table>
</div>
        </div>
</div>
<p>
        开启服务</p>
<div class="jb51code">
        <div>
                <div class="syntaxhighlighterbash" id="highlighter_657035">
                        <div class="toolbar">
                                <span>?</span>
</div>
                        <table border="0" cellpadding="0" cellspacing="0"><tbody><tr>
<td class="gutter">
                                                        <div class="line number1 index0 alt2">
                                                                1</div>
                                                </td>
                                                <td class="code">
                                                        <div class="container">
                                                                <div class="line number1 index0 alt2">
                                                                        <code class="bash comments"># systemctl start firewalld.service</code>
</div>
                                                        </div>
                                                </td>
                                        </tr></tbody></table>
</div>
        </div>
</div>
<p>
        关闭防火墙</p>
<div class="jb51code">
        <div>
                <div class="syntaxhighlighterbash" id="highlighter_336740">
                        <div class="toolbar">
                                <span>?</span>
</div>
                        <table border="0" cellpadding="0" cellspacing="0"><tbody><tr>
<td class="gutter">
                                                        <div class="line number1 index0 alt2">
                                                                1</div>
                                                </td>
                                                <td class="code">
                                                        <div class="container">
                                                                <div class="line number1 index0 alt2">
                                                                        <code class="bash comments"># systemctl stop firewalld.service</code>
</div>
                                                        </div>
                                                </td>
                                        </tr></tbody></table>
</div>
        </div>
</div>
<p>
        开机自动启动</p>
<div class="jb51code">
        <div>
                <div class="syntaxhighlighterbash" id="highlighter_159628">
                        <div class="toolbar">
                                <span>?</span>
</div>
                        <table border="0" cellpadding="0" cellspacing="0"><tbody><tr>
<td class="gutter">
                                                        <div class="line number1 index0 alt2">
                                                                1</div>
                                                </td>
                                                <td class="code">
                                                        <div class="container">
                                                                <div class="line number1 index0 alt2">
                                                                        <code class="bash comments"># systemctl enable firewalld.service</code>
</div>
                                                        </div>
                                                </td>
                                        </tr></tbody></table>
</div>
        </div>
</div>
<p>
        关闭开机制动启动</p>
<div class="jb51code">
        <div>
                <div class="syntaxhighlighterbash" id="highlighter_940480">
                        <div class="toolbar">
                                <span>?</span>
</div>
                        <table border="0" cellpadding="0" cellspacing="0"><tbody><tr>
<td class="gutter">
                                                        <div class="line number1 index0 alt2">
                                                                1</div>
                                                </td>
                                                <td class="code">
                                                        <div class="container">
                                                                <div class="line number1 index0 alt2">
                                                                        <code class="bash comments"># systemctl disable firewalld.service</code>
</div>
                                                        </div>
                                                </td>
                                        </tr></tbody></table>
</div>
        </div>
</div>
<p>
        查看状态</p>
<div class="jb51code">
        <div>
                <div class="syntaxhighlighterbash" id="highlighter_109612">
                        <div class="toolbar">
                                <span>?</span>
</div>
                        <table border="0" cellpadding="0" cellspacing="0"><tbody><tr>
<td class="gutter">
                                                        <div class="line number1 index0 alt2">
                                                                1</div>
                                                </td>
                                                <td class="code">
                                                        <div class="container">
                                                                <div class="line number1 index0 alt2">
                                                                        <code class="bash comments">#systemctl status firewalld</code>
</div>
                                                        </div>
                                                </td>
                                        </tr></tbody></table>
</div>
        </div>
</div>
<p>
        得到到的结果如果是</p>
<p>
        ● firewalld.service - firewalld - dynamic firewall daemon<br>
        loaded: loaded (/usr/lib/systemd/system/firewalld.service; enabled; vendor preset: enabled)<br>
        active: active (running) since mon 2016-09-05 02:34:07 utc; 15min ago<br>
        main pid: 3447 (firewalld)<br>
        cgroup: /system.slice/firewalld.service<br>
        └─3447 /usr/bin/python -es /usr/sbin/firewalld --nofork --nopid</p>
<p>
        sep 05 02:34:07 vultr.guest systemd: starting firewalld - dynamic firewall daemon...<br>
        sep 05 02:34:07 vultr.guest systemd: started firewalld - dynamic firewall daemon.</p>
<p>
        这样的说明没有问题</p>
<p>
        设置 firwall</p>
<p>
        使用firewall-cmd 命令</p>
<p>
        查看状态</p>
<div class="jb51code">
        <div>
                <div class="syntaxhighlighterbash" id="highlighter_631017">
                        <div class="toolbar">
                                <span>?</span>
</div>
                        <table border="0" cellpadding="0" cellspacing="0"><tbody><tr>
<td class="gutter">
                                                        <div class="line number1 index0 alt2">
                                                                1</div>
                                                </td>
                                                <td class="code">
                                                        <div class="container">
                                                                <div class="line number1 index0 alt2">
                                                                        <code class="bash comments">#firewall-cmd --state //running 表示运行</code>
</div>
                                                        </div>
                                                </td>
                                        </tr></tbody></table>
</div>
        </div>
</div>
<p>
        获取活动的区域</p>
<div class="jb51code">
        <div>
                <div class="syntaxhighlighterbash" id="highlighter_441133">
                        <div class="toolbar">
                                <span>?</span>
</div>
                        <table border="0" cellpadding="0" cellspacing="0"><tbody><tr>
<td class="gutter">
                                                        <div class="line number1 index0 alt2">
                                                                1</div>
                                                </td>
                                                <td class="code">
                                                        <div class="container">
                                                                <div class="line number1 index0 alt2">
                                                                        <code class="bash comments">#firewall-cmd --get-active-zones</code>
</div>
                                                        </div>
                                                </td>
                                        </tr></tbody></table>
</div>
        </div>
</div>
<p>
        这条命令将用以下格式输出每个区域所含接口:</p>
<p>
        &lt;zone1&gt;: &lt;interface1&gt; &lt;interface2&gt; ..&lt;zone2&gt;: &lt;interface3&gt; ..</p>
<p>
         获取所有支持的服务</p>
<div class="jb51code">
        <div>
                <div class="syntaxhighlighterbash" id="highlighter_859674">
                        <div class="toolbar">
                                <span>?</span>
</div>
                        <table border="0" cellpadding="0" cellspacing="0"><tbody><tr>
<td class="gutter">
                                                        <div class="line number1 index0 alt2">
                                                                1</div>
                                                </td>
                                                <td class="code">
                                                        <div class="container">
                                                                <div class="line number1 index0 alt2">
                                                                        <code class="bash comments">#firewall-cmd --get-service</code>
</div>
                                                        </div>
                                                </td>
                                        </tr></tbody></table>
</div>
        </div>
</div>
<p>
        每个服务以空格分隔  例如:</p>
<p>
        rh-satellite-6 amanda-client bacula bacula-client dhcp dhcpv6 dhcpv6-client dns freeipa-ldap freeipa-ldaps freeipa-replication ftp high-availability http https imaps ipp ipp-client ipsec iscsi-target kerberos kpasswd ldap ldaps libvirt libvirt-tls mdns mountd ms-wbt mysql nfs ntp openvpn pmcd pmproxy pmwebapi pmwebapis pop3s postgresql proxy-dhcp radius rpc-bind rsyncd samba samba-client smtp ssh telnet tftp tftp-client transmission-client vdsm vnc-server wbem-http</p>
<p>
        获取永久选项所支持的服务   就是重启后也支出的</p>
<div class="jb51code">
        <div>
                <div class="syntaxhighlighterbash" id="highlighter_878795">
                        <div class="toolbar">
                                <span>?</span>
</div>
                        <table border="0" cellpadding="0" cellspacing="0"><tbody><tr>
<td class="gutter">
                                                        <div class="line number1 index0 alt2">
                                                                1</div>
                                                </td>
                                                <td class="code">
                                                        <div class="container">
                                                                <div class="line number1 index0 alt2">
                                                                        <code class="bash comments">#firewall-cmd --get-service --permanent //在 0.3.0 之前的 firewalld版本中, panic 选项是 –enable-panic 与 –disable-panic</code>
</div>
                                                        </div>
                                                </td>
                                        </tr></tbody></table>
</div>
        </div>
</div>
<p>
        开启应急模式阻断所有网络连接</p>
<div class="jb51code">
        <div>
                <div class="syntaxhighlighterbash" id="highlighter_333159">
                        <div class="toolbar">
                                <span>?</span>
</div>
                        <table border="0" cellpadding="0" cellspacing="0"><tbody><tr>
<td class="gutter">
                                                        <div class="line number1 index0 alt2">
                                                                1</div>
                                                </td>
                                                <td class="code">
                                                        <div class="container">
                                                                <div class="line number1 index0 alt2">
                                                                        <code class="bash comments">#firewall-cmd --panic-on //在 0.3.0 之前的 firewalld版本中, panic 选项是 –enable-panic 与 –disable-panic</code>
</div>
                                                        </div>
                                                </td>
                                        </tr></tbody></table>
</div>
        </div>
</div>
<p>
        关闭应急模式      </p>
<div class="jb51code">
        <div>
                <div class="syntaxhighlighterbash" id="highlighter_703872">
                        <div class="toolbar">
                                <span>?</span>
</div>
                        <table border="0" cellpadding="0" cellspacing="0"><tbody><tr>
<td class="gutter">
                                                        <div class="line number1 index0 alt2">
                                                                1</div>
                                                </td>
                                                <td class="code">
                                                        <div class="container">
                                                                <div class="line number1 index0 alt2">
                                                                        <code class="bash comments">#firewall-cmd --panic-off</code>
</div>
                                                        </div>
                                                </td>
                                        </tr></tbody></table>
</div>
        </div>
</div>
<p>
        查看应急模式的状态</p>
<div class="jb51code">
        <div>
                <div class="syntaxhighlighterbash" id="highlighter_270015">
                        <div class="toolbar">
                                <span>?</span>
</div>
                        <table border="0" cellpadding="0" cellspacing="0"><tbody><tr>
<td class="gutter">
                                                        <div class="line number1 index0 alt2">
                                                                1</div>
                                                </td>
                                                <td class="code">
                                                        <div class="container">
                                                                <div class="line number1 index0 alt2">
                                                                        <code class="bash comments">#firewall-cmd --query-panic</code>
</div>
                                                        </div>
                                                </td>
                                        </tr></tbody></table>
</div>
        </div>
</div>
<p>
        在不改变状态的条件下重新加载防火墙:</p>
<div class="jb51code">
        <div>
                <div class="syntaxhighlighterbash" id="highlighter_512175">
                        <div class="toolbar">
                                <span>?</span>
</div>
                        <table border="0" cellpadding="0" cellspacing="0"><tbody><tr>
<td class="gutter">
                                                        <div class="line number1 index0 alt2">
                                                                1</div>
                                                </td>
                                                <td class="code">
                                                        <div class="container">
                                                                <div class="line number1 index0 alt2">
                                                                        <code class="bash comments">#firewall-cmd --reload</code>
</div>
                                                        </div>
                                                </td>
                                        </tr></tbody></table>
</div>
        </div>
</div>
<p>
        防火墙预定义的服务配置文件是xml文件 目录在 /usr/lib/firewalld/services/<img style="max-width:100%!important;height:auto!important;"title="centos7中firewall防火墙命令详解" alt="centos7中firewall防火墙命令详解" src="https://zhuji.jb51.net/uploads/img/202305/8878f5a53bca9f0c61cb2c5e94e19fa6.jpg"></p>
<p>
         在 /etc/firewalld/services/ 这个目录中也有配置文件    但是/etc/firewalld/services/目录 优先于 /usr/lib/firewalld/services/  目录</p>
<p>
        修改配置文件后 使用命令重新加载</p>
<div class="jb51code">
        <div>
                <div class="syntaxhighlighterbash" id="highlighter_590435">
                        <div class="toolbar">
                                <span>?</span>
</div>
                        <table border="0" cellpadding="0" cellspacing="0"><tbody><tr>
<td class="gutter">
                                                        <div class="line number1 index0 alt2">
                                                                1</div>
                                                </td>
                                                <td class="code">
                                                        <div class="container">
                                                                <div class="line number1 index0 alt2">
                                                                        <code class="bash comments">#firewall-cmd --reload</code>
</div>
                                                        </div>
                                                </td>
                                        </tr></tbody></table>
</div>
        </div>
</div>
<p>
        启用某个服务</p>
<div class="jb51code">
        <div>
                <div class="syntaxhighlighterbash" id="highlighter_44377">
                        <div class="toolbar">
                                <span>?</span>
</div>
                        <table border="0" cellpadding="0" cellspacing="0"><tbody><tr>
<td class="gutter">
                                                        <div class="line number1 index0 alt2">
                                                                1</div>
                                                        <div class="line number2 index1 alt1">
                                                                2</div>
                                                </td>
                                                <td class="code">
                                                        <div class="container">
                                                                <div class="line number1 index0 alt2">
                                                                        <code class="bash comments"># firewall-cmd --zone=public --add-service=https //临时</code>
</div>
                                                                <div class="line number2 index1 alt1">
                                                                        <code class="bash comments"># firewall-cmd --permanent --zone=public --add-service=https //永久</code>
</div>
                                                        </div>
                                                </td>
                                        </tr></tbody></table>
</div>
        </div>
</div>
<p>
        开启某个端口</p>
<div class="jb51code">
        <div>
                <div class="syntaxhighlighterbash" id="highlighter_979569">
                        <div class="toolbar">
                                <span>?</span>
</div>
                        <table border="0" cellpadding="0" cellspacing="0"><tbody><tr>
<td class="gutter">
                                                        <div class="line number1 index0 alt2">
                                                                1</div>
                                                        <div class="line number2 index1 alt1">
                                                                2</div>
                                                </td>
                                                <td class="code">
                                                        <div class="container">
                                                                <div class="line number1 index0 alt2">
                                                                        <code class="bash comments">#firewall-cmd --permanent --zone=public --add-port=8080-8081/tcp //永久</code>
</div>
                                                                <div class="line number2 index1 alt1">
                                                                        <code class="bash comments">#firewall-cmd --zone=public --add-port=8080-8081/tcp //临时</code>
</div>
                                                        </div>
                                                </td>
                                        </tr></tbody></table>
</div>
        </div>
</div>
<p>
        使用命令加载设置</p>
<div class="jb51code">
        <div>
                <div class="syntaxhighlighterbash" id="highlighter_410206">
                        <div class="toolbar">
                                <span>?</span>
</div>
                        <table border="0" cellpadding="0" cellspacing="0"><tbody><tr>
<td class="gutter">
                                                        <div class="line number1 index0 alt2">
                                                                1</div>
                                                </td>
                                                <td class="code">
                                                        <div class="container">
                                                                <div class="line number1 index0 alt2">
                                                                        <code class="bash comments">#firewall-cmd --reload</code>
</div>
                                                        </div>
                                                </td>
                                        </tr></tbody></table>
</div>
        </div>
</div>
<p>
        查看开启的端口和服务</p>
<div class="jb51code">
        <div>
                <div class="syntaxhighlighterbash" id="highlighter_334105">
                        <div class="toolbar">
                                <span>?</span>
</div>
                        <table border="0" cellpadding="0" cellspacing="0"><tbody><tr>
<td class="gutter">
                                                        <div class="line number1 index0 alt2">
                                                                1</div>
                                                        <div class="line number2 index1 alt1">
                                                                2</div>
                                                </td>
                                                <td class="code">
                                                        <div class="container">
                                                                <div class="line number1 index0 alt2">
                                                                        <code class="bash comments">#firewall-cmd --permanent --zone=public --list-services //服务空格隔开 例如 dhcpv6-client https ss </code>
</div>
                                                                <div class="line number2 index1 alt1">
                                                                        <code class="bash comments">#firewall-cmd --permanent --zone=public --list-ports //端口空格隔开 例如 8080-8081/tcp 8388/tcp 80/tcp</code>
</div>
                                                        </div>
                                                </td>
                                        </tr></tbody></table>
</div>
        </div>
</div>
<p>
        在每次修改 端口和服务后  /etc/firewalld/zones/public.xml  文件就会被修改   所以也可以在文件中之间修改  然后重新加载<img style="max-width:100%!important;height:auto!important;"title="centos7中firewall防火墙命令详解" alt="centos7中firewall防火墙命令详解" src="https://zhuji.jb51.net/uploads/img/202305/15075ccd089e590f37e469a82f2e7314.jpg"></p>
<p>
        设置某个ip 访问某个服务</p>
<div class="jb51code">
        <div>
                <div class="syntaxhighlighterbash" id="highlighter_503857">
                        <div class="toolbar">
                                <span>?</span>
</div>
                        <table border="0" cellpadding="0" cellspacing="0"><tbody><tr>
<td class="gutter">
                                                        <div class="line number1 index0 alt2">
                                                                1</div>
                                                </td>
                                                <td class="code">
                                                        <div class="container">
                                                                <div class="line number1 index0 alt2">
                                                                        <code class="bash comments">#firewall-cmd --permanent --zone=public --add-rich-rule="rule family="ipv4" source address="192.168.0.4/24" service name="http" accept"</code>
</div>
                                                        </div>
                                                </td>
                                        </tr></tbody></table>
</div>
        </div>
</div>
<p>
        ip 192.168.0.4/24 访问 http</p>
<p>
        设置后 public.xml 就会出现变化<img style="max-width:100%!important;height:auto!important;"title="centos7中firewall防火墙命令详解" alt="centos7中firewall防火墙命令详解" src="https://zhuji.jb51.net/uploads/img/202305/cd7bfdcf24cc8374c6b7812b68d7beaa.jpg"><br>
         删除上面设置的规则</p>
<div class="jb51code">
        <div>
                <div class="syntaxhighlighterbash" id="highlighter_860390">
                        <div class="toolbar">
                                <span>?</span>
</div>
                        <table border="0" cellpadding="0" cellspacing="0"><tbody><tr>
<td class="gutter">
                                                        <div class="line number1 index0 alt2">
                                                                1</div>
                                                </td>
                                                <td class="code">
                                                        <div class="container">
                                                                <div class="line number1 index0 alt2">
                                                                        <code class="bash comments">#firewall-cmd --permanent --zone=public --remove-rich-rule="rule family="ipv4" source address="192.168.0.4/24" service name="http" accept"</code>
</div>
                                                        </div>
                                                </td>
                                        </tr></tbody></table>
</div>
        </div>
</div>
<p>
        启动服务</p>
<div class="jb51code">
        <div>
                <div class="syntaxhighlighterbash" id="highlighter_199343">
                        <div class="toolbar">
                                <span>?</span>
</div>
                        <table border="0" cellpadding="0" cellspacing="0"><tbody><tr>
<td class="gutter">
                                                        <div class="line number1 index0 alt2">
                                                                1</div>
                                                        <div class="line number2 index1 alt1">
                                                                2</div>
                                                        <div class="line number3 index2 alt2">
                                                                3</div>
                                                        <div class="line number4 index3 alt1">
                                                                4</div>
                                                        <div class="line number5 index4 alt2">
                                                                5</div>
                                                </td>
                                                <td class="code">
                                                        <div class="container">
                                                                <div class="line number1 index0 alt2">
                                                                        <code class="bash comments">#systemctl start firewalld.service //开启服务</code>
</div>
                                                                <div class="line number2 index1 alt1">
                                                                        <code class="bash comments">#systemctl enable firewalld.service //开机制动启动</code>
</div>
                                                                <div class="line number3 index2 alt2">
                                                                         </div>
                                                                <div class="line number4 index3 alt1">
                                                                        <code class="bash comments">#systemctl stop firewalld.service //关闭服务</code>
</div>
                                                                <div class="line number5 index4 alt2">
                                                                        <code class="bash comments">#systemctl disable firewalld.service //禁止开机启动</code>
</div>
                                                        </div>
                                                </td>
                                        </tr></tbody></table>
</div>
        </div>
</div>
<p>
        以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持服务器之家。</p>
<p>
        原文链接:http://www.cnblogs.com/phpshen/p/5842118.html</p>
頁: [1]
查看完整版本: centos7中firewall防火墙命令详解