iptables网络服务的搭建和配置

本文涉及的产品
云防火墙,500元 1000GB
简介:
第一部分: 理论
一.    什么是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,如需转载请自行联系原作者
相关文章
|
27天前
|
安全 网络安全 数据安全/隐私保护
|
16天前
|
网络协议 Linux
图形界面配置网络
本文介绍了在Linux上配置网络服务的步骤。首先打开RHEL-01服务器,找到桌面网络配置选项,进入网络配置面板。点击面板右下角的小齿轮,进入有线配置面板,选择IPv4选项,将地址设置为手动。接下来配置IP地址、子网掩码、网关和DNS服务器。配置完成后,使用新的IP地址进行访问。
32 4
图形界面配置网络
|
12天前
|
云安全 人工智能 安全
阿里云稳居公共云网络安全即服务市占率第一
日前,全球领先的IT市场研究和咨询公司IDC发布了《中国公有云网络安全即服务市场份额,2023:规模稳步增长,技术创新引领市场格局》报告。报告显示,阿里云以27.0%的市场份额蝉联榜首。
|
15天前
|
网络虚拟化 数据安全/隐私保护 数据中心
对比了思科和华为网络设备的基本配置、接口配置、VLAN配置、路由配置、访问控制列表配置及其他重要命令
本文对比了思科和华为网络设备的基本配置、接口配置、VLAN配置、路由配置、访问控制列表配置及其他重要命令,帮助网络工程师更好地理解和使用这两个品牌的产品。通过详细对比,展示了两者的相似之处和差异,强调了持续学习的重要性。
29 2
|
16天前
|
网络协议 Linux
通用网卡配置文件配置网络
本文介绍了在RHEL 7系统中配置网络的方法。首先,通过编辑位于`/etc/sysconfig/network-scripts`目录下的网卡配置文件(例如`ifcfg-ens33`),设置静态IP地址、子网掩码、网关和DNS等参数。接着,使用`systemctl`命令重启网络服务,确保配置生效。此外,还介绍了使用`nmtui`图形界面工具进行网络配置的步骤,包括修改IP地址、保存配置和重启网络。最后,通过`ip addr`或`ifconfig`命令验证配置是否成功。
46 2
|
16天前
|
人工智能 安全 Cloud Native
|
25天前
|
运维 安全 5G
|
30天前
|
Docker 容器
docker swarm启动服务并连接到网络
【10月更文挑战第16天】
27 5
|
1月前
|
负载均衡 网络协议 关系型数据库
docker swarm 使用网络启动服务
【10月更文挑战第15天】
27 4
|
1月前
|
Docker 容器
docker swarm 在服务中使用网络
【10月更文挑战第14天】
22 2
下一篇
无影云桌面