iptables/netfilter网络防火墙实现及实战分析

前提知识

防火墙的类型与作用的链

iptables/netfilter基于SNAT和DNAT原理实现报文转发

实例:

# 将外网对172.16.100.7:22022的访问转发至内网的192.168.20.12.22iptables -t nat -A PREROUTING -d 172.16.100.7 -p tcp –dport 22022 -j DNAT –to-destination 192.168.20.12.22

iptables/netfilter实战解析

需求分析

架构设计

配置部署

DNS Server配置

网络配置

# vi /etc/sysconfig/network-scripts/ifcfg-eth0DEVICE=”eth0″BOOTPROTO=”static”NM_CONTROLLED=”no”ONBOOT=”yes”TYPE=”Ethernet”IPADDR=172.16.251.178NETMASK=255.255.0.0GATEWAY=172.16.251.236

DNS主配置文件:/etc/named.conf

# named.conf中需修改的部分listen-on port 53 { 127.0.0.1; 172.16.251.178;};allow-query{ any; };recursion no;#zone “.” IN {# type hint;# file “named.ca”;#};

DNS辅助配置文件:/etc/named.rfc1912.zones

acl inter_net {172.16.251.0/24;};view inter_net {match-clients { inter_net; };zone “.” IN {type hint;file “named.ca”;};zone “jason.com” IN {type master;file “jason.com.inter_net”;};};view outer_net {match-clients { any; };zone “jason.com” IN {type master;file “jason.com.outer_net”;};};

区域数据文件:

# vi /var/named/jason.com.inter_net$TTL 1Djason.com. IN SOA dns.jason.com. admin.jason.com (2014032920 ; serial1D ; refresh1H ; retry1W ; expire3H ) ; minimum@ NS dnsdns A 172.16.251.178www A 172.16.251.182# vi /var/named/jason.com.outer_net$TTL 1Djason.com. IN SOA dns.jason.com. admin.jason.com (2014032920 ; serial1D ; refresh1H ; retry1W ; expire3H ) ; minimum@ NS dnsdns A 172.16.251.178www A 3.3.3.1

启动named服务

chown root.named jason.com.inter_netchown root.named jason.com.outer_netservice named restart

Web Server配置

配置一个虚拟主机,监听端口8080在DocumentRoot目录下创建一简单的测试文件test.html,内容随意,如“Hello Mageedu”启动httpd服务即可

Firewall配置

网络配置

# vi /etc/sysconfig/network-scripts/ifcfg-eth0DEVICE=”eth0″BOOTPROTO=”static”NM_CONTROLLED=”no”ONBOOT=”yes”TYPE=”Ethernet”IPADDR=172.16.251.236NETMASK=255.255.0.0GATEWAY=172.16.0.1# vi /etc/sysconfig/network-scripts/ifcfg-eth1DEVICE=”eth1″BOOTPROTO=”static”NM_CONTROLLED=”no”ONBOOT=”yes”TYPE=”Ethernet”IPADDR=3.3.3.1NETMASK=255.255.255.0DNS1=3.3.3.1

注:因为3.3.3.1和3.3.3.3都是模拟的外网IP地址,故对应的网卡应处于同一信道内,且不能和内网的通信信道一致,故在用虚拟机测试时,可将对应内网IP的网卡的网络方式改为桥接,,而对应外网IP的网卡的网络方式改为自定义,如vmnet2

添加iptables规则

iptables -t nat -A PREROUTING -d 3.3.3.1/32 -p udp -m udp –dport 53 -j DNAT –to-destination 172.16.251.178iptables -t nat -A PREROUTING -d 3.3.3.1/32 -p tcp -m tcp –dport 8080 -j DNAT –to-destination 172.16.251.182

Inter Client配置

# vi /etc/sysconfig/network-scripts/ifcfg-eth0DEVICE=”eth0″BOOTPROTO=”static”NM_CONTROLLED=”no”ONBOOT=”yes”TYPE=”Ethernet”IPADDR=172.16.251.176NETMASK=255.255.255.0GATEWAY=172.16.251.236DNS1=172.16.251.178# vi /etc/resolv.confnameserver 172.16.251.178

Outer Client配置

# vi /etc/sysconfig/network-scripts/ifcfg-eth0DEVICE=”eth0″BOOTPROTO=”static”NM_CONTROLLED=”no”ONBOOT=”yes”TYPE=”Ethernet”IPADDR=3.3.3.3NETMASK=255.255.255.0GATEWAY=3.3.3.1DNS1=3.3.3.1# vi /etc/resolv.confnameserver 3.3.3.1

DNS解析测试

HTTP访问测试

大功告成,哦也!

上一篇:iptables规则基本用法

本文出自 “小小忍者” 博客,请务必保留此出处

却只能这样。只有对爱的人,我们才会斤斤计较,锱铢必较。

iptables/netfilter网络防火墙实现及实战分析

相关文章:

你感兴趣的文章:

标签云: