linux系统中部署防火墙服务

防火墙

  防火墙:动态防火墙后台程序FireWalld提供了一个动态管理防火墙,来支持网络的zones,以分配对一个网络及相关连接和界面一定程度的信任;它支持以太网桥,并有分离运行时间和永久行配置选择。

 防火墙的域:

1.trusted:允许所有的数据包

2.block:拒绝所有网络连接

3.public:用于公共区域使用,仅接受dhcpv6-client,ssh服务

4.dmz:仅接受ssh服务连接

5.drop:任何接受的网络数据包都被丢弃,没有任何恢复

防火墙:企业7版本用firewalld

一.图形化配置防火墙:

firewall-config


二.使用命令配置防火墙

命令:

1. systemctl start firewalld    打开防火墙

2. firewall-cmd --state                                        查看防火墙状态

3. firewall-cmd --get-active-zones                   查看正在使用的域

4. firewall-cmd --get-default-zone                   查看默认域是哪个

5. firewall-cmd --get-zones                             查看

6. firewall-cmd --zone=public --list-all           查看public域的信息

7. firewall-cmd --get-services                         查看域的所有服务

8. firewall-cmd --list-all-zones                        查看所有的域

9. firewall-cmd --set-default-zone=dmz        将默认域改为dmz

10.firewall-cmd --remove-interface=eth1     删除eth1网卡

1. systemctl start firewalld    打开防火墙

2.firewall-cmd --stat查看防火墙状态


3. firewall-cmd --get-active-zones  查看正在使用的域

4. firewall-cmd --get-default-zone   查看默认域是哪个

5. firewall-cmd --get-zones     查看

6. firewall-cmd --zone=public --list-all  查看public域的信息


7. firewall-cmd --get-services  查看域的所有服务

8. firewall-cmd --list-all-zones  查看所有的域

9. firewall-cmd --set-default-zone=dmz  将默认域改为dmz

10.firewall-cmd --zone=trusted  --add-source=172.25.254.107   将107主机添加进trusted域


11.firewall-cmd  --zone=trused  --remove-source=172.25.254.107  将107从trusted域移出


12.firewall-cmd --add-interface=eth1    添加eth1网卡

firewall-cmd --remove-interface=eth1   删除eth1网卡

三.接口控制访问不同域:

1.eth0IP:172.25.254.107

   eth1IP:172.25.71.107

2.将eth0和eth1两个网卡都加在public域:


两块网卡都可ping通:

将eth1网卡从public域移出,加入block域,eth1会ping不通:

移出:

加入block域:


rth1网卡ping不通:


四.添加端口:(默认端口为80,改为8080)可以改配置文件,也可以通过命令修改

1)通过配置文件修改:

1.firewall-cmd --list-all                   查看默认域详细信息


2.firewall-cmd --add-service=http           添加http服务


3.vim /etc/httpd/conf/httpd.conf   编辑配置文件更改端口

内容:

Listen   8080       将默认端口改为8080

4.systemctl restart httpd    重启服务

5.vim /use/lib/firewalld/services/http.xml     更改http端口


测试:在浏览器输入:http://172.25.254.107:8080  可以访问


2)通过命令修改

1.firewall-cmd --set-default-zone=public    更改默认域为public
2.firewall-cmd --list-all                   查看默认域详细信息


3.firewall-cmd --add-service=http           添加http服务
4.firewall-cmd --list-all                   查看默认域详细信息
8.firewall-cmd --add-port=8080/tcp    更改端口
9.firewall-cmd --list-all             查看端口


测试:在浏览器输入:http://172.25.254.107:8080  可以访问



五.firewall-cmd --reload与firewall-cmd --complete-reload

1.firewall-cmd --permanent --remove-service=ssh    删除ssh服务
2.firewall-cmd --reload            刷新,当前正在使用的服务不会断


测试:ssh root@172.25.254.107       连不上


1.firewall-cmd --complete-reload   刷新,当前正在使用的服务会断


测试:ssh root@172.25.254.107       连不上


六.Iptables命令管理

内核的3张表,5条列

filter表:经本机内核的数据:input,forward,ouput

nat表:不经过本机内核的数据:input,ouput,prerouting,postrouting

mangel表:所有经过主机的数据:input,forward,ouput,prerouting,postrouting

1.显示内核三张表信息

iptables  -nL            默认为filter表


Direct Rules   详细规则

1.firewall-cmd --direct --add-rule ipv4 filter INPUT 2 -p tcp --dport 8080 -s 172.25.254.71 -j ACCEPT    允许71访问

测试:ssh root@172.25.254.107         可以连接


-p:类型   -s:转化成   -j:有三种: ACCEPT(接收),REJUCT(拒绝),DROP(丢弃)

Rich Rules   高级规则

伪装:在路由前

1.firewall-cmd --add-forward-port=port=22:proto=tcp:toport=22:toaddr=172.25.254.207   目的地转化到207

2.firewall-cmd --add-masquerade       打开伪装功能

测试:ssh root@172.25.254.107       会连接207



查看内核路由功能是否打开:

1. sysctl -a | grep ip_forward

net.ipv4.ip_forward = 1      1表示打开,0表示没打开

2.vim /etc/sysctl.conf         编辑配置文件打开内核路由功能



七.端口转换:

服务端:

1.firewall-cmd --permanent --change-interface=eth1 --zone=public   将eth1端口加入域

2.systemctl restart firewalld            重启防火墙

3.firewall-cmd --add-masquerade    打开伪装功能

4. ifconfig       查看网卡和IP



客户端:

1.更改ip为:172.25.254.207,网关为:172.25.254.107

2.ping  172.25.71.107  可以ping通


八.企业7之前用:iptables

1.管理命令:

1.systemctl stop firewalld           关闭firewalld

2.systemctl mask firewalld          冻结firewalld

3.yum search iptables                 查找iptables软件包

4.yum install iptables-services.x86_64 -y   安装软件

5.systemctl start iptables.service               打开软件

6.systemctl enable  iptables.service          设置开机打开

7.iptables -nL                                               列出信息-n不做解析

8.iptables -t nat -nL                                     查看nat表

9.iptables -t mangle -nL                              查看mangle表





2.制定策略:制定规则从前往后逐渐收缩:服务端

1.iptables -A INPUT -p tcp --dport 22 -j ACCEPT     允许所有访问ssh

2.iptables -A INPUT -s 172.25.254.107 -p tcp --dport 80 -j ACCEPT   允许107访问http

3.iptables -A INPUT ! -s 172.25.252.107 -p tcp --dport 53 -j REJECT  除了107访问dns全部拒绝

!:除了      REJECT:拒绝

4.iptables -A INPUT -j REJECT     全部拒绝

5.service iptables save       保存当前



3.地址转发:(207)

1.sysctl -a | grep ip_forward             查看内核路由功能状态

2.vim /etc/sysctl.conf                       编辑配置文件

内容:

net.ipv4.ip_forward = 1     打开内核路由功能

3.iptables -t nat -nL       查看nat表

4.iptables -t nat -A PREROUTING -i eth0 -j DNAT --to-dest 172.25.254.207    连接107转化到207上

-i:进来时转化到107

5. iptables -t nat -A POSTROUTING -o eth0 -j SNAT --to-source 172.25.0.107   207看到的ip为0.107

-o:出去时转化到172.25.0.107上


测试:ssh root@172.25.254.107   连接107会转化到207上,207看到的IP为172.25.0.107






评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值