iptables系列教程|iptables实战篇(代码片段)

author author     2023-03-18     522

关键词:

iptables 实战篇

实战1 服务器禁止ping

iptables -A INPUT -p icmp --icmp-type 8 -s 0/0 -j DROP
// 禁止任何人ping通本机

除了上面禁止PING的方法,我们还可以通过修改内核配置实现,如下:

echo net.ipv4.icmp_echo_ignore_all=1 >> /etc/sysctl.conf
sysctl -p 

// 如果允许PING,则将 `ignore_all=1`,修改成 `ingore_all=0` 即可

实战2 利用iptables保护公司 web 服务器

2.1 web服务器配置:

1、安装httpd及vsftpd服务
yum -y install httpd
yum -y install vsftpd //安装vsfptd服务目的是为了对比iptables

2、启动httpd及vsftpd服务
systemctl start httpd
systemctl  start vsftpd

2.2 客户端验证(未配置iptables)

测试web访问

技术图片

测试vsftpd

技术图片

2.3 配置iptables防火墙策略

iptables -A INPUT -i lo -j ACCEPT
// 放行环回口所有数据

iptables -A INPUT -p tcp -m multiport --dports 22,80 -j ACCEP
// 放行 TCP/22,80 端口

iptables -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
// 允许已经建立 tcp 连接的包以及该连接相关的包通过

 iptables -P INPUT DROP
 // 设置filter表INPUT链默认规则。当数据包没有被任何规则匹配时,则按默认规则拒绝所有

2.4 再次验证

测试web访问

技术图片

测试vsftpd

技术图片

测试结果正如我们所料:可以正常访问web服务,但由于iptables规则未放行ftp相关端口,因此无法访问ftp服务。

实战3 利用iptables搭建网关服务器

背景:公司使用双网卡Linux主机作为网关服务器,其中网卡eth0连接局域网,网卡eth1接入Internet。由于公司只注册了一个公网IP地址,要求合理配置网关策略,使局域网内的PC机可以通过共享的方式访问Internet,如下图所示:

技术图片

具体实验步骤,点击:干货|利用iptables搭建网关服务器

实战4 利用iptables实现端口映射(DNAT)

实验拓扑图

技术图片

4.1 qll252 web服务器

1、安装httpd服务
[root@qll252 ~]# yum -y install httpd

2、设置http服务首页内容
[root@qll252 ~]# echo 10.10.10.2 > index.html

3、启动httpd服务
[root@qll252 ~]# systemctl start httpd

4、指定qll251为网关
[root@qll252 ~]# vim /etc/sysconfig/network-scripts/ifcfg-eth0       
  GATEWAY=10.10.10.1

5、重启网卡服务
[root@qll252 ~]# systemctl restart network

4.2 在qll251上做DNAT

1、开启内核转发
echo "net.ipv4.ip_forward = 1" >> etc/sysctl.conf 
sysctl -p

2、添加iptables规则
[root@qll252 ~]# iptables -t nat -A PREROUTING -d 10.43.5.166 -p tcp --dport 8000 -j DNAT --to 10.43.187.252:80

3、保存iptables规则
[root@qll251 ~]# service iptables save

4.3 验证

技术图片

结果正如我们所料,浏览器上输入http://20.20.20.20:8000,即可跳转到qll252的内容,实现端口映射。

结语

公众号『开源Linux』,专注分享Linux/Unix相关内容,包括Linux运维、Linux系统开发、网络编程、以及虚拟化和云计算等技术干货。后台回复『学习』,送你一套学习Linux的系列书籍,期待与你相遇。

iptables系列教程|iptables入门篇(代码片段)

前言在早期的Linux系统中,默认使用的是iptables配置防火墙。尽管新型的firewalld防火墙已经被投入使用多年,但是大量的企业在生产环境中依然出于各种原因而继续使用iptables。考虑到iptables在当前生产环境中还具有顽强的生命力... 查看详情

iptables系列教程|iptables语法规则(代码片段)

iptables命令基本语法iptables[-ttable]command[链名][条件匹配][-j目标动作]以下是对iptables命令的拆分讲解:-ttable用来指明使用的表,有三种选项:filter,nat,mangle。若未指定,则默认使用filter表。command参数指定iptables对我们提交的规则... 查看详情

iptables系列教程|iptables语法规则(代码片段)

iptables命令基本语法iptables[-ttable]command[链名][条件匹配][-j目标动作]以下是对iptables命令的拆分讲解:-ttable用来指明使用的表,有三种选项:filter,nat,mangle。若未指定,则默认使用filter表。command参数指定iptables对我们提交的规则... 查看详情

iptables基础实战练习

...标地址转移 一、基础规则练习 (1)放行ssh(端口:22)1iptables-AINPUT-d192.168.42.153-ptcp--dport22-jACCEPT2iptables-AOUTPUT-s192.168.42.153-ptcp--sport22-jACCEPT (2)修改默认规则链 查看详情

iptables入门篇

一、iptables简介1.1什么是iptables?iptables是Linux防火墙工作在用户空间的管理工具,是netfilter/iptablesIP信息包过滤系统是一部分,用来设置、维护和检查Linux内核的IP数据包过滤规则。1.2主要特点1)列出数据包过滤器规则集的内容2... 查看详情

iptables防火墙介绍+实战

第1章iptables防火墙简介Netfilter/Iptables(以下简称Iptables)是unix/linux自带的一款优秀且开放源代码的完全自由的基于包过滤的防火墙工具,它的功能十分强大,使用非常灵活,可以对流入和流出服务器的数据包进行很精细的控制。... 查看详情

企业级iptables防火墙实战

  iptables生产中在内网一般是关闭的,外围需要开启  大并发情况下,不能开启iptables,会影响性能,使用硬件外网防火墙  学好iptables的基础  1,OSI7层模型以及不同层对应哪些协议  2,TCP/IP三次握手,四次端口过程... 查看详情

iptables实战书

p.MsoNormal,li.MsoNormal,div.MsoNormal{margin:0cm;margin-bottom:.0001pt;font-size:10.5pt;font-family:"Arial",sans-serif}p.MsoNormalCxSpFirst,li.MsoNormalCxSpFirst,div.MsoNormalCxSpFirst{margin:0cm;mar 查看详情

iptables实战书

p.MsoNormal,li.MsoNormal,div.MsoNormal{margin:0cm;margin-bottom:.0001pt;font-size:10.5pt;font-family:"Arial",sans-serif}p.MsoNormalCxSpFirst,li.MsoNormalCxSpFirst,div.MsoNormalCxSpFirst{margin:0cm;mar 查看详情

iptables系列:如何配置ubuntu14.04中的iptables防火墙

IPTables基本命令在向大家介绍复杂防火墙规则之前,还是先上一些简单的料,让大家对IPTables最为基本的命令有一些简单了解。首先要说明的是IPTables命令必需以root权限运行,这意味着你需要使用root身份登录或者能够有权限使用s... 查看详情

docker实战系列之docker端口映射错误解决方法(代码片段)

错误:Errorresponsefromdaemon:Cannotstartcontainerweb:iptablesfailed:iptables-tnat-ADOCKER-ptcp-d0/0--dport32797-jDNAT--to-destination172.17.0.30:5000!-idocker0:iptables:Nochain/target/matchbythatname.解决 查看详情

iptables系列:如何配置ubuntu14.04中的iptables防火墙

IPTables基本命令在向大家介绍复杂防火墙规则之前,还是先上一些简单的料,让大家对IPTables最为基本的命令有一些简单了解。首先要说明的是IPTables命令必需以root权限运行,这意味着你需要使用root身份登录或者能够有权限使用s... 查看详情

iptables教程

Iptables教程1. iptables防火墙简介Iptables也叫netfilter是Linux下自带的一款免费且优秀的基于包过滤的防火墙工具,它的功能十分强大,使用非常灵活,可以对流入、流出、流经服务器的数据包进行精细的控制。iptables是Linux2.4及2.6... 查看详情

iptables教程

iptables防火墙简介Iptables也叫netfilter是Linux下自带的一款免费且优秀的基于包过滤的防火墙工具,它的功能十分强大,使用非常灵活,可以对流入、流出、流经服务器的数据包进行精细的控制。iptables是Linux2.4及2.6内核中集成的模... 查看详情

iptables教程

1. iptables防火墙简介Iptables也叫netfilter是Linux下自带的一款免费且优秀的基于包过滤的防火墙工具,它的功能十分强大,使用非常灵活,可以对流入、流出、流经服务器的数据包进行精细的控制。iptables是Linux2.4及2.6内核中集成... 查看详情

iptables教程(代码片段)

iptables是一个配置Linux内核防火墙的命令行工具。初学者刚看到iptables,会感到很复杂,原因是iptables功能实在是太强大了。本文会从基本概念、使用上做介绍,读者看完后再去看iptables命令就能理解其含义了。本文环境:PC:Ubuntu18... 查看详情

iptables进阶

这篇主要讲述iptables模块。因为iptables模块太多,所以仅仅能慢慢补充,用到哪个加哪个==========================================================================================================iptables-AINPUT[-mstate][--模块參数状态] -m:一些 查看详情

iptables系列之基础原理

...核中的过滤框架,规则生效的位置框架    iptables:附加在netfilter上,生成防火墙规则,真正实现数据报文过滤,NAT,mangle等规则生成的工具防火墙:工作在主机或者网络的边缘,对于进出的报文进行检查监控,并... 查看详情