Iptables番外篇-构建网络防火墙-创新互联

前言

专注于为中小企业提供网站设计制作、网站制作服务,电脑端+手机端+微信端的三站合一,更高效的管理,为中小企业临泉免费做网站提供优质的服务。我们立足成都,凝聚了一批互联网行业人才,有力地推动了上千余家企业的稳健成长,帮助中小企业通过网站建设实现规模扩充和转变。

本文旨在复习iptables FORWARD表的相关知识,构建简易实验环境,实现通过iptables构建网络防火墙。

iptables实现的防火墙功能:

    主机防火墙:服务范围为当前主机

    网络防火墙:服务范围为局域网络

1. 实验拓扑


Iptables番外篇-构建网络防火墙

2. 主机规划


主机名
角色网卡IP地址
node1内网主机vmnet2:eno16777736192.168.11.2/24
node2网关主机

vmnet2:eno16777736

桥接:eno33554984

192.168.11.1/24

172.16.52.52/16

node3外网主机桥接:eno16777736172.16.52.53/16

 说明:

 node1 添加一条默认网关指向192.168.11.1

route add default gw 192.168.11.1

 node2 要开启ip_forward功能

  sysctl -w net.ipv4.ip_forward=1

 内网要与外网通讯node3还要添加一条指向192.168.11.0/24网络路由

route add -net 192.168.11.0/24 gw 172.16.52.52

3.测试实验环境


node1:开启httpd服务,测试node3能否访问

[root@node3 ~]# ping 192.168.11.2
PING 192.168.11.2 (192.168.11.2) 56(84) bytes ofdata.
64 bytes from 192.168.11.2: icmp_seq=1 ttl=63 time=0.467 ms
64 bytes from 192.168.11.2: icmp_seq=2 ttl=63 time=0.502 ms
[root@node3 ~]# curl 192.168.11.2

node1 apache sit

4. 构建iptables网络防火墙


4.1 拒绝所有请求

[root@node2 ~]# iptables -A FORWARD -j DROP

4.2 开放所有ESTABLISED,RELATED的请求

[root@node2 ~]# iptables -I FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT

4.3 开放从内网到外网所有为NEW的请求

[root@node2 ~]# iptables -I FORWARD 2 -s192.168.11.0/24 -m state --state NEW -j ACCEPT
[root@node2 ~]# iptables -vnL
Chain INPUT (policy ACCEPT 113 packets, 9316 bytes)
 pkts bytes target     prot opt in     out     source               destination         
Chain FORWARD (policy ACCEPT 0 packets, 0 bytes)
 pkts bytes target     prot opt in     out     source               destination         
   37  3108 ACCEPT     all  --  *      *       0.0.0.0/0            0.0.0.0/0            state RELATED,ESTABLISHED
    3   236 ACCEPT     all  --  *      *       192.168.11.0/24      0.0.0.0/0            state NEW
  696 58080 DROP       all  --  *      *       0.0.0.0/0            0.0.0.0/0           
Chain OUTPUT (policy ACCEPT 44 packets, 4040 bytes)
 pkts bytes target     prot opt in     out     source               destination

 现在内网是可以访问外网的,但是外网进来的所有请求都被拒绝

4.4 开放从外到内的21端口,22端口,23端口,80端口,状态为NEW的请求

[root@node2 ~]# iptables -I FORWARD 3 -d 192.168.11.2 -p tcp -m multiport --dports 21:23,80 -m state --state NEW -j ACCEPT

 node3:ftp测试访问:

[root@node3 ~]# lftp 192.168.11.2
lftp 192.168.11.2:~> ls             
`ls' at 0 [Making data connection...]

 RELATED状态已经追踪,21号端口已经开放,为什么还是不能访问?因为nf_conntrack_ftp 模块没有加载

 加载nf_conntrack_ftp 模块:

[root@node2 ~]# modprobe nf_conntrack_ftp
[root@node3 ~]# lftp 192.168.11.2
lftp 192.168.11.2:~> ls
drwxr-xr-x   
2 0        0               6 Nov 20  2015 pub

总结:网关防火墙iptables策略做的是白名单,默认拒绝所有,只有开放的服务,外网才能访问。内网访问外网没有特殊情况一般为允许。

另外有需要云服务器可以了解下创新互联scvps.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。


网站名称:Iptables番外篇-构建网络防火墙-创新互联
网站链接:http://scyanting.com/article/dihcdc.html