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


本文转自 gehailong 51CTO博客,原文链接:http://blog.51cto.com/gehailong/263904,如需转载请自行联系原作者
相关文章
|
1天前
|
Kubernetes 应用服务中间件 Docker
Kubernetes学习-集群搭建篇(二) 部署Node服务,启动JNI网络插件
Kubernetes学习-集群搭建篇(二) 部署Node服务,启动JNI网络插件
|
1天前
|
安全
哪些因素影响网络交易商品(服务)的安全性?
【5月更文挑战第14天】哪些因素影响网络交易商品(服务)的安全性?
8 0
|
1天前
|
域名解析 网络协议 网络虚拟化
【计算机网络】—— 中小型网络构建与配置
【计算机网络】—— 中小型网络构建与配置
6 0
|
1天前
|
网络安全
|
1天前
|
安全 算法 网络协议
LabVIEW网络服务安全2
LabVIEW网络服务安全2
10 3
|
1天前
|
安全 算法 API
LabVIEW网络服务安全
LabVIEW网络服务安全
11 3
|
1天前
|
安全 物联网 网络安全
云端之盾:融合云服务与网络安全的未来之路
【5月更文挑战第10天】 在数字化的浪潮中,云计算以其灵活性、可扩展性和成本效益成为企业转型的重要驱动力。然而,随着云服务的广泛采纳,网络安全和信息保护的挑战也随之增加。本文深入探讨了云计算环境中的安全威胁,分析了当前的安全措施,并提出了面向未来的综合安全策略。我们将重点讨论如何通过技术创新、政策制定和行业合作来强化云服务的安全性,确保信息资产的完整性、可用性和保密性得到全面保障。
|
1天前
|
负载均衡 网络协议 安全
【计算机网络】虚拟路由冗余(VRRP)协议原理与配置
【计算机网络】虚拟路由冗余(VRRP)协议原理与配置
14 0
|
1天前
|
数据安全/隐私保护 网络协议 网络安全
2024年广东省网络系统管理样题第4套服务部署部分
2024年广东省网络系统管理样题第4套服务部署部分
2024年广东省网络系统管理样题第4套服务部署部分
|
1天前
|
数据安全/隐私保护 网络安全 网络协议
2024年广东省网络系统管理样题第5套服务部署部分
2024年广东省网络系统管理样题第5套服务部署部分
2024年广东省网络系统管理样题第5套服务部署部分

热门文章

最新文章