博威---云架构决胜云计算

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 1862|回复: 0

Iptables入门与提高

[复制链接]
发表于 2007-5-13 22:56:18 | 显示全部楼层 |阅读模式
Iptables入门与提高

ptables基础(规则,链,表)
规则rules:就是网络管理员预定的条件,这些规则分别指定了源地址,目的地址,传输协议(tcp,udp,icmp),和服务类开型(HTTP,FTP,SMTP)
    定义一些动作:acccept,reject,drop
链chains:是数据包的传播的路径,每一条链其实就是众多规则中的一个检查清单,每一条链中可以有一条规则.
表tables:filter,nat,mangle三个表.
    fitler:是iptables默认的表,主要用于包过滤.
    nat:主要用于NAT网络地址转换,访表可以实现一对一,一对多,多对多等NAT工作(PREROUTING,OUTPUT,POSTROUTING)
    mangle:主要用于对指定的包进行修改,因为某些特应用可能需要去改写数据包的一些传输特性,如更改数据包的TTL和TOS等,
           不过在实际应用中访表的使用率不高.

    网关功能的实现

二,使用iptables实现NAT服务:
NAT服务器安装双网卡:
eth0 企业内部,内部网卡
eth1 企业外部(通过eth1连接到ADSL modem通过pppoe协议拨号到internet)
  画出图:
1.#vi /etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE=eth0
BOOTPROTO=static
BROADCAST=192.168.0.255
HWADDR=.....
IPADDR=192.168.0.1
NETMASK=255.255.255.0
NETWORK=192.168.0.0
OBOOT=yes
type=Ethernet

2.#vi /etc/sysconfig/network-scripts/ifcfg-eth1:
DEVICE=eth1
BOOTPROTO=static
BROADCAST=172.16.1.255
HWADDR=.....
IPADDR=172.16.1.1
NETMASK=255.255.255.0
NETWORK=172.16.1.0
OBOOT=yes
type=Ethernet
注:eth1与adsl moden相连,然后通过pppoe拨号接入到internet,系统在启动时需要分配一个IP给eth1,默认是通过DHCP自动获取,为了加快
系统的启动速度,可以为eth1手动指定一个ip地址172.16.1.1,这个地址最好是私有的面明这个地址不能与局域网机器使用的IP位于同一个子网

3.为系统指定DNS服务器:
#vi /etc/resolv.conf
nameserver 61.143.12.101
nameserver 202.92.128.86

#servcie network restart

三,建立ADSL连接:
1.#rpm -qa |grep rp-ppoe
2.#adsl-setup
  LOGIN NAME: 输入账户名
  INTERFACE:eth1(与adsl modem相连网卡的名称)
  设置是否按需拨号,如果设置按需拨号,输入闲置多少秒后自动断开连接,对于包用户永久在线,输入:no
  输入"server",表示使用adsl拨号时自动从ISP获取得DNS服务器IP地址.
  PASSWORD:输入密码
  设置是否允许一般用户连接断开adsl连接:no
  firewall:0 不启用,以后可以配.
  系统动启时是否自动进行拨号:no (为了以后方便调试)
  确认保存设置:y
  #adsl-status
  #adsl-start,adsl-stop
  #tail -n 20 /var/log/messages

四,使用iptables实现NAT
  1,打开NAT路由功能和IP为装
  echo "1">/proc/sys/network/ipv4/ip_forward
  或者#vi /etc/sysctl.conf
  iptables -t nat -A POSTROUTING -o ppp0 -j MASQUERADE 实现IP为装.
  #iptables -t nat -L
  2.设置客户端:
  Linux:vi /etc/sysconfig/network,/etc/resolv.conf
  windows:网络连接,属性.
  3.启动时自动拨号和配置NAT:
  #vi /etc/rc.d/rc.local
   /sbin/adsl-start
   echo "1" > /proc/sys/net/ipv4/ip_forward
   /sbin/iptables -t nat -A POSTROUTING -o ppp0 -j MASQUERADE



iptables技巧实例:
1.禁止局域网内的用户访问不健康的网站:www.playboy.com
#iptables -A FORWARD -d www.play.com -j DROP

2.禁止用户访为IP为210.12.19.3的网站
#iptables -A FORWARD -d 210.12.19.3 -j DROP

3.禁止192.168.1.20客户机上网:
#iptables -A FORWARD -s 192.168.1.20 -j DROP

4.禁止192.168.1.0子网里的所有客户机上网:
#iptables -A FORWARD -s 192.168.1.0/24 -j DROP

5.禁止客户机访问某些服务:
#iptables -A FORWARD -s 192.168.0.1/24 -p tcp --dport 21 -j DROP 禁止局网内使用FTP下载,即把21端口封啦.
#iptables -A FORWARD -s 192.168.0.1 -p tcp --dport 23 -j DROP 禁止所有的客户端使用telnet协议连接远程主机.

#iptables -t filter -L FORWARD

6.强制访问指定的站点
#iptalbes -t nat -I PREROUTING -i eth0 -p tcp --dport 80 -j DNAT --to 210.10.11.19:80
#iptalbes -t nat -L PREROUTING 强制所有的客户机访问210.10.11.19:80这台WEB服务器.
  注:强制访问的站点技术注意事项:
  1.只能使用网站的IP地址,不能使用网站的域名:
  2.不适于使用虚拟主机技术的网站,因这种网站的IP地址是由多个网站共用的.

7,禁止客户机使用QQ(config.db里面的服务和端口,好像这个加密啦关键找到服务的IP地址)
#iptables -A FORWARD -p tcp --dport 8000 -j DROP
#iptables -A FORWARD -p udp --dport 8000 -j DROP
#iptables -A FORWARD -d tcpconn.tencent.com -j DROP
#iptables -A FORWARD -d tcpconn2.tencent.com -j DROP
#iptables -A FORWARD -d tcp.....
...............................4...
#iptables -A FORWARD -d http.tencent.com -j DROP
#iptables -A FORWARD -d http2.tencent.com -j DROP

8.禁止使用ICMP协议:
#iptables -A INPUT -i ppp0 -p icmp -j DROP

9.发布部服务器:
#iptables -t nat -I PREROUTING -i ppp0 -p tcp --dport 80 -j DNAT --to-destination 192.168.0.22:80
#iptables -t nat -I PREROUTING -i ppp0 -p tcp --dport 3389 -j DNAT --to-destination 192.168.0.36:3389

10.智能DNS服务:
#iptables -t nat -I PREROUTING -i eth0 -p upd --dport 53 -j DNAT --to-destination 61.144.56.101:53
#iptables -t nat -I PREROUTING -i eth0 -p tcp --dport 53 -j DNAT --to-destination 61.144.56.101:53
您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|boway Inc. ( 冀ICP备10011147号 )

GMT+8, 2024-5-16 14:20 , Processed in 0.084803 second(s), 16 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表