搭建网络防火墙

    防火墙的IP充当网关,对两边主机相互发送的数据包进行检查

1    两边的主机都必须要配置
 2    主机1配置路由:
 3      route add -net 192.168.145.0/24  gw 192.168.33.129
 4      route del -net 192.168.33.0/24
 5      inet 192.168.33.128
 6 
 7   路由主机的IP当成网关
 8      eth0   inet addr:192.168.33.130
 9      eth1   inet addr:192.168.145.130
10 
11   主机2配置路由:
12      route add -net 192.168.33.0/24 gw 192.168.145.130
13      inet 192.168.145.128
14   跨网段ping主机:
15     ping 192.168.33.128
16     PING 192.168.33.128 (192.168.33.128) 56(84) bytes of data.
17     64 bytes from 192.168.33.128: icmp_seq=1 ttl=63 time=0.920 ms
18     64 bytes from 192.168.33.128: icmp_seq=2 ttl=63 time=2.41 ms
19     64 bytes from 192.168.33.128: icmp_seq=3 ttl=63 time=2.26 ms
20 
21 [root@centos7 network-scripts]# ping 192.168.145.128
22  PING 192.168.145.128 (192.168.145.128) 56(84) bytes of data.
23  如果一直停住在这里表示对方接收到了数据包,但是没有路由返回.
24 
25  vi /etc/hosts
26  192.168.33.128  www.a.com  www.b.com  www.c.com
27  curl www.a.com
28 
29  在路由主机上配置路由规则
30   2.iptables -I FORWARD -m string --algo bm --string "a.com" -j REJECT
31 
32   iptables -A FORWARD -j REJECT
33   #拒绝所有的转发包
34   iptables -I FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT
35   #允许转发外部主机的响应包
36   iptables -I FORWARD 2 -s 192.168.145.0/24 -m state --state NEW -j ACCEPT
37   #允许内部主机主动发起请求访问外部主机
38   [root@yxh6 ~]# iptables -I FORWARD 2 -d 192.168.145.128 -p tcp --dport 22 -m state --state NEW -jACCEPT
39   #允许外部主机访问内网的特定主机的特定服务

View Code

 

防火墙实现NAT(网络地址转换)

   SNAT

       修改了请求报文中的源IP     不修改端口        实现企业内网中的所有主机公用一个公网IP连接互联网

       iptables    -t   nat     -A    POSTROUTING    -s   10.0.1.0/24    -j   SNAT    -to-source 172.18.1.6
       iptables    -t    nat    -A    POSTROUTING    -s   10.0.1.0/24    -j   MASQUERADE

 

 DNAT

      修改了请求报文中的目标IP   不修改端口        实现公网中的主机通过内网网关IP访问到内部企业内网的主机

       iptables    -t   nat    -A    PREROUTING    -s    0/0    -d    172.18.100.6   -p    tcp    --dport  80   -j      DNAT    --todestination 10.0.1.22:8080 

   

端口转发 

     iptables    -t    nat    -A      PREROUTING    -d     172.16.100.10    -p    tcp    --dport 80   -j    REDIRECT    --to-ports  8080

    

管理防火墙中的表规则    

      查看防火墙指定表中的规则记录     默认管理的是filter表  如果要管理其它的表,需要添加 -t 选项

      [root@yxh6 ~]# iptables -nvL -t nat            列出nat表里面的所有记录
      [root@yxh6 ~]# iptables -F -t nat                删除nat表里面的所有记录

 

firewalld服务 

     firewalld是CentOS 7.0新推出的管理netfilter的工具

     firewalld是配置和监控防火墙规则的系统守护进程.可以实现 iptables,ip6tables,ebtables的功能 

     firewalld服务由firewalld包提供 

     firewalld支持划分区域zone,每个zone可以设置独立的防火墙规则 

     网卡默认属于public zone,lo网络接口属于trusted  zone 

     firewalld配置 

        1.     firewall-config (firewall-config包)图形工具 

        2.      firewall-cmd (firewalld包)命令行工具