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,如需转载请自行联系原作者
相关文章
|
5月前
|
人工智能 运维 安全
配置驱动的动态 Agent 架构网络:实现高效编排、动态更新与智能治理
本文所阐述的配置驱动智能 Agent 架构,其核心价值在于为 Agent 开发领域提供了一套通用的、可落地的标准化范式。
1902 82
|
5月前
|
人工智能 安全 数据可视化
配置驱动的动态Agent架构网络:实现高效编排、动态更新与智能治理
本文系统性地提出并阐述了一种配置驱动的独立运行时Agent架构,旨在解决当前低代码/平台化Agent方案在企业级落地时面临困难,为Agent开发领域提供了一套通用的、可落地的标准化范式。
499 18
配置驱动的动态Agent架构网络:实现高效编排、动态更新与智能治理
|
4月前
|
网络协议 Linux 虚拟化
配置VM网络:如何设定静态IP以访问主机IP和互联网
以上就是设定虚拟机网络和静态IP地址的基本步骤。需要注意的是,这些步骤可能会因为虚拟机软件、操作系统以及网络环境的不同而有所差异。在进行设定时,应根据具体情况进行调整。
433 10
|
4月前
|
弹性计算 安全 应用服务中间件
阿里云渠道商:怎么配置阿里云网络ACL?
阿里云网络ACL是子网级无状态防火墙,支持精准流量控制、规则热生效且免费使用。本文详解5步配置流程,助您实现Web与数据库层的安全隔离,提升云上网络安全。
|
机器学习/深度学习 移动开发 测试技术
RT-DETR改进策略【模型轻量化】| 替换骨干网络为MoblieNetV2,含模型详解和完整配置步骤
RT-DETR改进策略【模型轻量化】| 替换骨干网络为MoblieNetV2,含模型详解和完整配置步骤
542 1
RT-DETR改进策略【模型轻量化】| 替换骨干网络为MoblieNetV2,含模型详解和完整配置步骤
|
8月前
|
JSON 中间件 Go
Go 网络编程:HTTP服务与客户端开发
Go 语言的 `net/http` 包功能强大,可快速构建高并发 HTTP 服务。本文从创建简单 HTTP 服务入手,逐步讲解请求与响应对象、URL 参数处理、自定义路由、JSON 接口、静态文件服务、中间件编写及 HTTPS 配置等内容。通过示例代码展示如何使用 `http.HandleFunc`、`http.ServeMux`、`http.Client` 等工具实现常见功能,帮助开发者掌握构建高效 Web 应用的核心技能。
446 61
|
8月前
|
安全 网络虚拟化 数据安全/隐私保护
配置小型网络WLAN基本业务示例
本文介绍了通过AC与AP直连组网实现企业分支机构移动办公的WLAN基本业务配置方案。需求包括提供名为“WiFi”的无线网络,分配192.168.1.0/24网段IP地址给工作人员,采用直连二层组网方式,AC作为DHCP服务器,并使用隧道转发业务数据。配置步骤涵盖AP与AC间CAPWAP报文传输、DHCP服务设置、AP上线及WLAN业务参数配置等,最终确保STA成功接入无线网络“WiFi”。
配置小型网络WLAN基本业务示例
|
8月前
|
监控 安全 网络安全
网络安全新姿势:多IP配置的五大好处
服务器配置多IP地址,既能提升网络速度与安全性,又能实现多站点托管和故障转移。本文详解多IP的五大妙用、配置方法及进阶技巧。从理论到实践,合理规划IP资源,让服务器性能跃升新高度。
282 2
|
Ubuntu 网络协议 Unix
02理解网络IO:实现服务与客户端通信
网络IO指客户端与服务端通过网络进行数据收发的过程,常见于微信、QQ等应用。本文详解如何用C语言实现一个支持多客户端连接的TCP服务端,涉及socket编程、线程处理及通信流程,并分析“一消息一线程”模式的优缺点。
434 0