基于linux下的firewalld管理

firewalld

区域:

  drop(丢弃)

       任何接收的网络数据包都被丢弃,没有任何回复,仅能有发送出去的网络连接

  block(限制)

       任何接收的网络连接都被拒绝

  public(公共)

       在公共区域里使用,不能呢个相信网络内的其他计算机不会对你的计算机造成危害,只能接收经过选取的连接

  external(外部)
       特别是为路由器启用了伪装功能的外部网。您不能信任来自网络的其他计算,不能相信它们不会对您的计算机造成危害,只能接收经过选择的连接。

  dmz(非军事区)
       用于您的非军事区内的电脑,此区域内可公开访问,可以有限地进入您的内部网络,仅仅接收经过选择的连接。

  work(工作)
       用于工作区。您可以基本相信网络内的其他电脑不会危害您的电脑。仅仅接收经过选择的连接。

  home(家庭)
       用于家庭网络。您可以基本信任网络内的其他计算机不会危害您的计算机。仅仅接收经过选择的连接。

  internal(内部)
       用于内部网络。您可以基本上信任网络内的其他计算机不会威胁您的计算机。仅仅接受经过选择的连接。

  trusted(信任)
       可接受所有的网络连接

一、服务的开启及firewalld域的了解

  274  systemctl stop iptables    关闭iptables

  275  systemctl disable iptables    开机自动关闭iptables

  276  systemctl start firewalld      打开防火墙

  277  systemctl enable  firewalld     开机自启防火墙


  279  firewall-cmd  --state       显示火墙状态
  280  firewall-cmd --get-active-zone    查看当前活跃的域
  282  firewall-cmd   --get-zones   查看firewalld所有的域
  283  firewall-cmd   --zone=public   --list-all  查看域为public的
  284  firewall-cmd  --list-all    
  285  firewall-cmd   --zone=block   --list-all   查看域为block的
  286  firewall-cmd  --list-all-zones    列出所有区域的设置:
  287  yum install httpd -y
  288  systemctl start httpd
  289  echo westos > /var/www/html/index.html  
  290  firewall-cmd  --set-default-zone=trusted    将其设置为信任域  
  291  firewall-cmd  --get-default-zone
  292  firewall-cmd  --get-service   




二、添加两块网卡(网络接口访问域的设置)

[root@client ~]# firewall-cmd  --add-source=172.25.254.13 --zone=trusted  火墙将172.25.254.13访问通过信任域(此时172.25.254.13可以访问其他不行)
success
[root@client ~]# firewall-cmd  --add-source=172.25.254.13/24 --zone=trusted (172.25.254网端的可以访问)
success
[root@client ~]# firewall-cmd --list-interfaces 列出网络接口
eth0 eth1
[root@client ~]# firewall-cmd --get-zone-of-interface=eth1  查看网络接口eth1的访问域
public
[root@client ~]# firewall-cmd --get-zone-of-interface=eth0  查看网络接口eth0的访问域
public
[root@client ~]# firewall-cmd --change-interface=eth0 --zone=trusted   更改网络接口eth0的访问域为trusted
success
[root@client ~]# firewall-cmd --get-zone-of-interface=eth0           查看网络接口eth0的访问域  
trusted
[root@client ~]# firewall-cmd --remove-interface=eth0 --zone=trusted      将网络接口eth0从trusted移除
success
[root@client ~]# firewall-cmd --get-zone-of-interface=eth0  
no zone
[root@client ~]# firewall-cmd --add-interface=eth0 --zone=public      将eth0添加到public域中  
success

[root@client ~]# firewall-cmd --get-zone-of-interface=eth0         查看网络接口eth0的访问域

public

[root@client ~]# firewall-cmd  --add-source=172.25.254.13 --zone=trusted  
火墙将172.25.254.13访问通过信任域(此时172.25.254.13可以访问其他不行)
success
[root@client ~]# firewall-cmd  --add-source=172.25.254.13/24 --zone=trusted 
(172.25.254网端的可以访问)
success
[root@client ~]# firewall-cmd --list-interfaces 列出网络接口
eth0 eth1
[root@client ~]# firewall-cmd --get-zone-of-interface=eth1  
查看网络接口eth1的访问域
public
[root@client ~]# firewall-cmd --get-zone-of-interface=eth0  
查看网络接口eth0的访问域
public
[root@client ~]# firewall-cmd --change-interface=eth0 --zone=trusted   
更改网络接口eth0的访问域为trusted
success
[root@client ~]# firewall-cmd --get-zone-of-interface=eth0          
 查看网络接口eth0的访问域  
trusted
[root@client ~]# firewall-cmd --remove-interface=eth0 --zone=trusted      
将网络接口eth0从trusted移除
success
[root@client ~]# firewall-cmd --get-zone-of-interface=eth0  
no zone
[root@client ~]# firewall-cmd --add-interface=eth0 --zone=public     
 将eth0添加到public域中  
success
[root@client ~]# firewall-cmd --get-zone-of-interface=eth0       
  查看网络接口eth0的访问域

public


三、临时和永久更改火墙的部分信息

    5  firewall-cmd  --add-source=172.25.254.250   (临时)
    6  firewall-cmd  --list-all
          public (default, active)
          interfaces: eth0 eth1
          sources: 172.25.254.250
          services: dhcpv6-client ssh
          ports:
          masquerade: no
          forward-ports:
          icmp-blocks:
          rich rules:
    7  systemctl restart firewalld
    8  firewall-cmd  --list-all
       public (default, active)
       interfaces: eth0 eth1
       sources:
       services: dhcpv6-client ssh
       ports:
       masquerade: no
       forward-ports:
       icmp-blocks:

       rich rules:




  [root@client ~]  irewall-cmd  --add-source=172.25.254.250   (临时)
  
 [root@client ~]   firewall-cmd  --list-all     
          public (default, active)
          interfaces: eth0 eth1
          sources: 172.25.254.250
          services: dhcpv6-client ssh
          ports:
          masquerade: no
          forward-ports:
          icmp-blocks:
          rich rules:
    
[root@client ~] systemctl restart firewalld       重启
[root@client ~]   firewall-cmd  --list-all
       public (default, active)
       interfaces: eth0 eth1
       sources:
       services: dhcpv6-client ssh
       ports:
       masquerade: no
       forward-ports:
       icmp-blocks:
       rich rules


    9  firewall-cmd  --permanent   --add-source=172.25.254.250(永久)
   11  firewall-cmd  --reload
   12  cd /etc/firewalld/
   13  ls
   14  cd zones/
   15  ls

   16  vim public.xml(添加成功)     域内容的设置 

 
     17  systemctl restart firewalld
   18  firewall-cmd  --list-all
   19  firewall-cmd  --add-port=8080/tcp  --zone=public(临时,重启服务后失效)
   20  firewall-cmd  --list-all
   21  firewall-cmd  --reload
   22  firewall-cmd  --list-all
   23  firewall-cmd  --permanent --remove-service=ssh   (永久)
   24  firewall-cmd  --reload
   25  firewall-cmd  --list-all
   26  firewall-cmd  --permanent --add-service=ssh      (永久)
   27  firewall-cmd  --reload            (以前连接着的还可以使用)
       firewall-cmd  --comlete-reload    (会直接中断)
   28  firewall-cmd  --list-all
   30  cd /usr/lib/firewalld        
   31  ls
   32  cd services/
   33  ls
   34  vim http.xml     某个服务的属性小设置


一、direct  rules
[root@client ~]# systemctl start httpd    开启http服务
[root@client ~]# firewall-cmd --permanent   --remove-service=http  
success
[root@client ~]# firewall-cmd --reload   
success

 [root@client ~]# firewall-cmd  --direct --add-rule  ipv4 filter INPUT 1 -p
(协议类型) tcp --dport 80(http服务) -s(源地址) 172.25.254.55 -j(动作) ACCEPT 
 (允许172.25.254.13访问)添加规则
success
[root@client ~]# firewall-cmd  --direct --get-all-rules   列出规则
 ipv4 filter INPUT 1 -p tcp --dport 80 -s 172.25.254.55 -j ACCEPT

 [root@client ~]# firewall-cmd  --direct --remove-rule  ipv4 filter INPUT 1 -p
(协议类型) tcp --dport 80(http服务) -s(源地址) 172.25.254.55 -j(动作) ACCEPT 
 (删除规则)
success

 二、端口转发:

firewall-cmd --permanent --add-forward-port=port=22:proto=tcp:toport=22:toaddr
=172.25.254.213 
  将此电脑的22端口(ssh)服务,当别人连接时会自动转到172.25.254.213的22端口服务
firewall-cmd --permanent --add-masquerade    打开masquerade
firewall-cmd --reload
firewall-cmd  --list-all 
  public (default, active)
  interfaces: eth0 eth1
  sources: 
  services: dhcpv6-client ssh
  ports: 
  masquerade: yes
  forward-ports: port=22:proto=tcp:toport=22:toaddr=172.25.254.213
  icmp-blocks: 
  rich rules:


 
三、端口伪装:
我们设置其中一台虚拟机ip为172.25.254.213,为其另一台虚拟机他网段(172.25.0.113)
我们让172.25.0.113的虚拟机可以通过172.25.254.213来访问这个网端的机子,
查询记录时查询到是172.25.254.213访问的。
设置172.25.254.213为路由器给此虚拟机配置两个网卡设置一个ip为172.25.254.213,
另一个ip为172.25.0.213
对于172.25.254.213的虚拟机设置:
firewall-cmd --permanent --add-masquerade    打开masquerade
vim /etc/sysctl.conf
net.ipv4.ip_forward = 1

对于172.25.0.113虚拟机设置;
vim /etc/sysconfig/network-scripts/ifcfg-eth0
GATEWAY=172.25.0.213

此时172.25.0.113就可以ping通172.25.254网段的ssh时连接到别人时此时查看记录只会显示为
172.25.254.213连接过
 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值