主机安全(4)iptables实战

本文涉及的产品
公网NAT网关,每月750个小时 15CU
简介:

   1,ssh的限制

ssh监控的是22端口,可以通过端口限制来限制ssh登录

[root@mail ~]# netstat -antup|grep ssh
tcp        0      0 0.0.0.0:22                  0.0.0.0:*                   LISTEN      3796/sshd


不允许192.168.87.133主机ssh mail

[root@mail ~]# iptables  -A INPUT  -s 192.168.87.133 -p tcp --destination-port 22  -j DROP


只允许192.168.87.0这个网段的ip来ssh主机

(当拒绝和允许冲突的时候,允许优先)

[root@mail ~]# iptables  -A INPUT  -s 192.168.87.0/24 -p tcp --dport 22  -j  ACCEPT

[root@mail ~]# iptables -A INPUT -p tcp --dport 22 -j DROP

 2,禁止代理端口

#iptables -A INPUT -p tcp –dport 3128 -j REJECT


 3,禁止黑客ping我的主机 

只允许192.168.87.0网段的主机ping我的主机

[root@mail ~]# iptables -A INPUT -s 192.168.87.0/24 -p  icmp --icmp-type echo-request -j ACCEPT

[root@mail ~]# iptables -A INPUT  -p  icmp --icmp-type echo-request -j DROP


  4,禁止QQ端口

#iptables -D FORWARD -p udp –dport 8000 -j REJECT


  5,强制访问指定的站点

 要使192.168.52.0/24网络内的计算机(这此计算机的网关应设为192.168.52.10)强制访问指定的站点,在做为防火墙的计算机(192.168.52.10)上应添加以下规则: 1. 打开ip包转发功能  echo 1 > /proc/sys/net/ipv4/ip_forward 


在NAT/防火墙计算机上的NAT表中添加目的地址转换规则: iptables -t nat -I PREROUTING -i eth0 -p tcp –dport 80 -j DNAT –to-destination 202.96.134.130:80

iptables -t nat -I PREROUTING -i eth0 -p udp –dport 80 -j DNAT –to-destination 202.96.134.130:80 


在NAT/防火墙计算机上的NAT表中添加源地址转换规则:  iptables -t nat -I POSTROUTING -o eth1 -p tcp –dport 80 -s 192.168.52.0/24 -j SNAT –to-source 202.96.134.10:20000-30000  


测试:在内部网的任一台计算机上打开浏览器,输入任一非本网络的IP,都将指向IP为202.96.134.130的网站.


   6,发布内部网络服务器

要使因特网上的计算机访问到内部网的FTP服务器、WEB服务器,在做为防火墙的计算机上应添加以下规则: 1. echo 1 > /proc/sys/net/ipv4/ip_forward 2. 发布内部网web服务器
iptables -t nat -I PREROUTING -p tcp -i eth1 -s 202.96.134.0/24 –dport 80 -j DNAT –to-destination 192.168.52.15:80
iptables -t nat -I POSTROUTING -p tcp -i eth0 -s 192.168.52.15 –sport 80 -j SNAT –to-source 202.96.134.10:20000-30000  3. 发布内部网ftp服务器
iptables -t nat -I PREROUTING -p tcp -i eth1 -s 202.96.134.0/24 –dport 21 -j DNAT –to-destination 192.168.52.14:21
iptables -t nat -I POSTROUTING -p tcp -i eth0 -s 192.168.52.14 –sport 21 -j SNAT –to-source 202.96.134.10:40000-50000   4. 注意:内部网的计算机网关要设置为防火墙的ip(192.168.52.1) 5. 测试: 用一台IP地址为202.96.134.0段的计算机虚拟因特网访问,当在其浏览器中访问http://202.96.134.10时,实际应看到的是192.168.52.15的的web服务; 当访问ftp://202.96.134.10时,实际应看到的是192.168.52.14上的的ftp服务

  7,智能DNS

1. echo 1 > /proc/sys/net/ipv4/ip_forward 2. 在NAT服务器上添加以下规则: 在PREROUTING链中添加目的地址转换规则:
iptables -t nat -I PREROUTING -i eth0 -p tcp –dpor 53 -j DNAT –to-destination 202.96.134.130 iptables -t nat -I PREROUTING -i eth0 -p udp –dpor 53 -j DNAT –to-destination 202.96.134.130 在POSTROUTING链中添加源地址转换规则:
iptables -t nat -I POSTROUTING -o eth1 -s 192.168.52.0/24 -p tcp –dpor 53 -j SNAT –to-source 202.96.134.10:40000-50000 iptables -t nat -I POSTROUTING -o eth1 -s 192.168.52.0/24 -p udp –dpor 53 -j SNAT –to-source 202.96.134.10:40000-50000 3. 测试 在内部网任一台计算机上,将DNS设置为任意的外网IP,就可以使用DNS测试工具如nslookup来解析DNS服务器202.96.134.130上的名称.

   8,端口映射

见上节透明代理设置 #iptables -t nat -A PREROUTING -i eth0 -p tcp -s 192.168.62.0/24 –dport 80 -j REDIRECT –to-ports 3128


9,通过NAT上网

典型NAT上网

一般做为NAT的计算机同时也是局域网的网关,假定该机有两块网卡eth0、eth1,eth0连接外网,IP为202.96.134.134;eth1连接局域网,IP为192.168.62.10 1. 先在内核里打开ip转发功能 #echo 1 > /proc/sys/net/ipv4/ip_forward 

使局域网用户能访问internet所要做的nat #iptables -t nat -A POSTROUTING -p tcp -o eth0 -j SNAT –to?202.96.134.134 如果上网的IP是动态IP,则使用以下规则: #iptables -t nat -A POSTROUTING -o eth0 -s 192.168.62.0/24 -j MASQUERADE 如果是通过ADSL上网,且公网IP是动态IP,则使用以下规则: #iptables -t nat -A POSTROUTING -o ppp0 -s 192.168.62.0/24 -j MASQUERADE 


. 使internet用户可以访问局域网内web主机所要做的nat #iptables -t nat -A PREROUTING -p tcp -d 202.96.134.134 –dport 80 -j DNAT –to-destination 192.168.62.10 注:局域网内的客户端需将默认网关、DNS设为防火墙的IP


10,在我们的网络机房实现NAT共享上网

工作环境:上层代理192.168.60.6(4480),只授予教师机(192.168.62.111)使用该代理的权限 目标:不使用squid代理上网,而是使用NAT的方式上网 方法: 

1) 确保停止教师机(192.168.62.111)的squid或其它代理服务 

2) 客户端网关、DNS均指向192.168.62.111,浏览器代理设置为192.168.60.6(4480)。测试在当前情况下能否上网 

3) 在教师机(192.168.62.111)上添加如下iptables规则: #iptables -t nat -A POSTROUTING -p tcp -d 192.168.60.6/32 –dport 4480 -j SNAT –to-source 192.168.62.111:10000-30000 解释:对于目的地为192.168.60.6、目的端口为4480的TCP包,在经过防火墙路由后,将其源地址转换为192.168.62.111,端口转换为10000-30000间的某个端口。 

4) 客户端测试能否上网



本文转自陈仲阳0 51CTO博客,原文链接:http://blog.51cto.com/wolfword/1212320


相关文章
|
Linux 网络安全
linux服务器将iptables卸掉了,导致服务器网络问题
如果是阿里云服务器,可以通过控制台登录服务器,参考一下步骤进行修复 通过ifconfig 配置IP信息ifconfig <网卡> < IP > netmask <掩码>内网和外网网卡都是配置上。然后添加路由:route add -net 0.0.0.0/0 gw <公网网关>route add -net 10.0.0.0/8 gw <内网网关>route add -net 100.64.0.0/10 gw <内网网关>这样网络就通了,然后使用 yum install initscripts ,并重启网络服务即可。
1190 0
|
网络协议 Linux 网络安全
|
网络协议 测试技术 网络安全
|
网络协议 网络安全 存储
|
网络协议 网络安全 算法

热门文章

最新文章