iptables网络服务的搭建和配置

第一部分: 理论

一.   什么是iptables?

iptables linux 的非常重要的一个组件,它的主要作用是包过滤,即防火墙的功能。

二.   在哪里可能用到iptables ?

  1. 企业当中用iptables实现路由器或防火墙

  2. 企业当中用linux作为服务器操作系统

  3. IDC机房中的服务器。

三.   为什么要用iptables

  1. 成本低。用公司里淘汰的电脑做一台路由器,节省开支。

  2. 速度快。转发效率高。

  3. 功能强大:可以做包过滤,可以做nat转换,可以减轻DOS***等等。

四.iptables 的组成

    由三个表组成:flter   nat    mangle

五. iptables 表的组成

filter( 默认) 包括三个链:INPUT OUTPUT FORWARD

 nat ( 转换) 包括三个链:PREROUTING OUTPUT POSTROUTING

mangle( 服务质量等) 包括五个链:PREROUTING INPUT OUTPUT FORWARD POSTROUTING

.iptables 图解

. iptables 服务启动方式

A . /etc/rc.d/init.d/iptables  start

B. service  iptables    start

  iptables 配置文件与策略设置文件

iptables 配置文件   /etc/sysconfig/iptables-config

策略设置文件      /etc/sysconfig/iptables

iptables 服务的启动与停止

iptables 服务缺省自动启动

可通过启动脚本手工启动和停止iptables 服务

# service iptables start

. 基本命令 操作命令

v  Iptables

v  -A 增加一个规则

v  -D 删除规则

v  -R 替换( 指定行上替换)

v  -I 插入

v  -L 显示所有规则

v  -F 删除所有规则

v  -P 默认策略

v  --line-numbers 显示行号

. 基本命令 匹配选项

  -p 指定使用的协议 !号排除

--src IP 地址

--dst 目的地址

--in-interface 选择网卡

--fragment 数据包分段

--sport 源端口

--dport 目的端口

--state 状态(RELATED,ESTABLISHED)

十一  Iptables 默认策略(重点掌握)

v  Iptables  -P INPUT ACCEPT/DROP

v  Iptables  -P OUTPUT ACCEPT/DROP

v  Iptables  -P FORWARD ACCEPT/DROP

注意:修改默认过滤规则( 默认是ACCEPT 我们全部修改成DROP)

十二. 具体例子

v  防止ping             Iptables -A INPUT p icmp j DROP

v  限制某个端口

 iptables I INPUT p tcp --dport  21 j DROP

v  注意: 修改默认过滤规则的时候一定要先把远程ssh 打开

v  开启ftp 服务

Iptables A INPUT p tcp --dport 21 j ACCEPT

 

 

实验脚本1

2 .编辑一脚本文件
[root@localhost]# vi  /bin/firewall.sh

文件内容如下:

 

#!/bin/bash 
echo "Starting iptables rules..."    // 显示启动 iptables 信息

 

echo  "1"  >  /proc/sys/net/ipv4/ip_forward     // 启动 linux 路由功能

 

iptables  -F      // 清空所有规则
iptables  -X     // 清空所有自定义规则
iptables  -Z     // 清空计数器

 

iptables  -P  FORWARD   DROP     // 定义默认的转发策略为丢弃
iptables  -P  INPUT   DROP         // 定义默认的接收策略为丢弃
iptables  -P  OUTPUT   DROP       // 定义默认的发送策略为丢弃

 

// 允许访问 DNS 服务器的往返数据包
iptables  -A  FORWARD  -p  udp  -d  192.168.10.1  --dport  53    -j  ACCEPT
iptables  -A  FORWARD  -p  udp  -s  192.168.10.1  --sport  53    -j  ACCEPT
iptables  -A  FORWARD  -p  tcp  -d  192.168.10.1  --dport  53    -j  ACCEPT
iptables  -A  FORWARD  -p  tcp  -s  192.168.10.1  --sport  53    -j  ACCEPT
// 允许访问 WEB 服务器的往返数据包
iptables  -A  FORWARD  -p  tcp  -d  192.168.10.1  --dport  80    -j  ACCEPT
iptables  -A  FORWARD  -p  tcp  -s  192.168.10.1  --sport  80    -j  ACCEPT

 

// 允许访问 FTP 服务器的往返数据包通过

 

// 允许本机与外部主机互 ping
iptables  -A  INPUT  -p  icmp  --icmp-type  echo-request  -j  ACCEPT
iptables  -A  INPUT  -p  icmp  --icmp-type  echo-reply  -j  ACCEPT
iptables  -A  OUTPUT  -p  icmp  --icmp-type  echo-request  -j  ACCEPT
iptables  -A  OUTPUT  -p  icmp  --icmp-type  echo-reply  -j  ACCEPT
实验脚本2
iptables  -F
iptables  -X
iptables  -Z
#------------------------default  rule ------------------------------
iptables -P  INPUT  DROP
iptables -P  OUTPUT  DROP
iptables -P  FORWARD  DROP
#------------------------ssh  rule -------------------------------------------
iptables -t filter -A   INPUT  -i  eth0 -p tcp --dport  22  -j  ACCEPT
iptables -t filter -A  OUTPUT  -o  eth0 -p tcp --sport  22  -j  ACCEPT
#------------------------www-ftp-mail-dns  rule --------------------------------
iptables -t filter -A   INPUT  -i   eth0 -p tcp --dport  80     -j ACCEPT
iptables -t filter -A   OUTPUT -o  eth0 -p  tcp --sport  80     -j ACCEPT
iptables -t filter -A   INPUT  -i   eth0 -p tcp --dport  21     -j ACCEPT
iptables -t filter -A   INPUT  -i   eth0 -p tcp --dport  20     -j ACCEPT
iptables -t filter -A   OUTPUT -o  eth0 -p  tcp --sport  21     -j ACCEPT
iptables -t filter -A   OUTPUT -o  eth0 -p  tcp --sport  20     -j ACCEPT
iptables -t filter -A   INPUT -i  eth0  -p tcp  --dport 25     -j ACCEPT
iptables -t filter -A   OUTPUT -o eth0  -p tcp  --sport 25     -j ACCEPT
iptables -t filter -A   INPUT -i  eth0  -p tcp  --dport 110     -j ACCEPT
iptables -t filter -A   OUTPUT -o eth0  -p tcp  --sport 110     -j ACCEPT
iptables -t filter -A   OUTPUT  -o  eth0  -p  udp   --dport 53     -j  ACCEPT
iptables -t filter -A   INPUT  -i   eth0  -p  udp  --sport 53     -j  ACCEPT
#-------------------------ICMP  rule ------------------------------------------
iptables -t  filter -A  INPUT -p    icmp    -j ACCEPT
iptables -t  filter -A  INPUT -p    icmp   -j ACCEPT
iptables -t  filter -A  INPUT -p    icmp   -j ACCEPT
iptables -t  filter -A  OUTPUT -p    icmp   -j ACCEPT
iptables -t  filter -A  OUTPUT -p    icmp   -j ACCEPT
iptables -t  filter -A  OUTPUT -p    icmp   -j ACCEPT
iptables -t  filter -A  OUTPUT -p    icmp   -j ACCEPT
允许 ftp 访问,
主动模式:
在配置文件中加入:
pasv_enable=no (默认 yes
防火墙设置:
iptables -F
iptables -P INPUT DROP
iptables -P OUTPUT DROP
iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A INPUT -p tcp --dport 20:21 -j ACCEPT
iptables -A INPUT -p tcp --sport 20:21 -j ACCEPT
被动模式:
在配置文件中加入:
pasv_enable=yes (默认 yes
pasv_min_port=40000
pasv_max_port=41000
防火墙设置:
iptables -F
iptables -P INPUT DROP
iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A INPUT -p tcp --dport 20:21 -j ACCEPT
iptables -A OUTPUT -p tcp --sport 20:21 -j ACCEPT
iptables -A INPUT -p tcp --dport 40000:41000 -j ACCEPT
iptables -A OUTPUT -p tcp --sport 40000:41000 -j ACCEPT
3 .给 /bin/firewall.sh 设置可执行权限
[root@localhost]# chmod  755  /bin/firewall.sh

 

4 .执行 /bin/firewall.sh
[root@localhost]#  /bin/firewall.sh

 

5 .让计算机下次启动时自动执行 /bin/firewall.sh
[root@localhost]# echo    ‘/bin/firewall.sh’  >>  /etc/rc.local
附加实验
如何通过 iptables 开启 ftp 服务 , 包括主动和被动 .

 

iptables -t nat -I POSTROUTING -s 192.168.1.0/24 -j SNAT --to 1.1.1.1-1.1.1.222

 

 

iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 81   -j   DNAT --to 192.168.0.2:80

 

                            
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值