防火墙---iptables
(1)理论基础:当主机收到一个数据包后,数据包先在内核空间中处理,若发现目的地址是自身,则传到用户空间中交给对应的应用程序处理,若发现目的不是自身,则会将包丢弃或进行转发。
iptables中定义有表,分别表示提供的功能,有filter表(实现包过滤)、nat表(实现网络地址转换)、mangle表(实现包修改)、 raw表(实现数据跟踪),这些表具有一定的优先级:raw–>mangle–>nat–>filter。
若为本地数据的传输,则数据进来内核的接口为input;出去的时候接口为output;
若目的地址不是本地时,数据传输的时候没有经过内核而出去的接口为postouting;响应的时候出去的接口叫做preouting.
(3)修改实验环境:
1、首先关闭firewalld火墙
systemctl stop firewalld.server
systemc mask firewalld.server
2、安装iptables火墙
yum install iptables-services.x86_64
systemctl start iptables
二、 iptables的用法
1)iptables的主配置文件:/etc/sysconfig/iptabls
2)iptables -F ##刷新
iptables -nL ##查看iptables中的策略(默认为filter表)
iptanles -t nat -nL ##查看nat表中的策略;-t 指向表名
service iptables save ##保存已有的策略(会保存在iptables的主配置文件中)
iptables -N xniu ##添加自定义链名
iptables -A INPUT -s 172.25.254.21 -p tcp --dport 22 -j REJECT ##-A为添加一条策略到INPUT表;-s源地址;-p协议;--dport目的端口;-j 执行拒绝
在21端口进行测试:
iptables -D INPUT -s 172.25.254.21 -p tcp --dport 22 -j REJECT ##删除已有的策略
iptables -I INPUT 2 -s 172.25.254.21 -p tcp --dport 22 -j REJECT ##-I为插入,位置为INPUT表的第二个位置
iptables -P INPUT DROP ## 修改input表的状态为drop
iptables -R INPUT 2 -s 172.25.254.21 -p tcp --dport 22 -j DROP ## 修改第二条的记录,把REJECT修改为DROP
3 ) 常用操作命令:
-D 删除匹配的规则
-R 替换匹配的规则
-I 在指定位置插入规则
三、网络地址转换
DNAT(目标地址转换),就是指数据包从网卡发送出去的时候,修改数据包中的目的IP,表现为如果你想访问A,可是因为网关做了DNAT,把所有访问A的数据包的目的IP全部修改为B,那么,你实际上访问的是B
示例一:添加策略不同端口执行不同规则:
iptables -F ##首先清空
iptables -nL ##查看
iptables -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
iptables -A INPUT -m state --state new -i lo -j ACCEPT
iptables -A INPUT -m state --state new -p tcp --dport 22 -j ACCEPT
iptables -A INPUT -m state --state new -p tcp --dport 80 -j ACCEPT
iptables -A INPUT -m state --state new -i lo -j ACCEPT
示例二:目的地址的转换 (在nat表上)
测试结果:
示例三:源地址的转换(在nat表上)
1、 首先把服务端要有两个物理网卡。ip分别为eth0:172.25.254.121 、eth1:192.168.0.2
iptables -t nat -A POSTROUTING -o eth0 -j SNAT --to-source 172.25.254.121 ##此时eth0为172.25.254.121
iptables -t filter -F ##刷新filter表
2、 在192.168.0.111主机上测试结果如下:
防火墙---iptables的更多相关文章
- CentOS防火墙iptables的配置方法详解
CentOS系统也是基于linux中的它的防火墙其实就是iptables了,下面我来介绍在CentOS防火墙iptables的配置教程,希望此教程对各位朋友会有所帮助. iptables是与Linux ...
- [转] Linux下防火墙iptables用法规则详及其防火墙配置
from: http://www.cnblogs.com/yi-meng/p/3213925.html 备注: 排版还不错,建议看以上的链接. iptables规则 规则--顾名思义就是规矩和原则,和 ...
- Linux防火墙(Iptables)的开启与关闭
Linux防火墙(iptables)的开启与关闭 Linux中的防火墙主要是对iptables的设置和管理. 1. Linux防火墙(Iptables)重启系统生效 开启: chkconfig ipt ...
- linux 防火墙iptables简明教程
前几天微魔部落再次遭受到个别别有用心的攻击者的攻击,顺便给自己充个电,复习了一下linux下常见的防火墙iptables的一些内容,但是无奈网上的很多教程都较为繁琐,本着简明化学习的目的,微魔为大家剔 ...
- Linux防火墙iptables简明教程
前几天微魔部落再次遭受到个别别有用心的攻击者的攻击,顺便给自己充个电,复习了一下linux下常见的防火墙iptables的一些内容,但是无奈网上的很多教程都较为繁琐,本着简明化学习的目的,微魔为大家剔 ...
- Linux防火墙iptables学习笔记(三)iptables命令详解和举例[转载]
Linux防火墙iptables学习笔记(三)iptables命令详解和举例 2008-10-16 23:45:46 转载 网上看到这个配置讲解得还比较易懂,就转过来了,大家一起看下,希望对您工作能 ...
- 【iptables】linux网络防火墙-iptables基础详解(重要)
一:前言 防火墙,其实说白了讲,就是用于实现Linux下访问控制的功能的,它分为硬件的或者软件的防火墙两种.无论是在哪个网络中,防火墙工作的地方一定是在网络的边缘.而我们的任务就是需要去定义到底防 ...
- 转:linux关闭防火墙iptables
ref:https://jingyan.baidu.com/article/066074d64f433ec3c21cb000.html Linux系统下面自带了防火墙iptables,iptables ...
- Linux防火墙iptables学习
http://blog.chinaunix.net/uid-9950859-id-98277.html 要在网上传输的数据会被分成许多小的数据包,我们一旦接通了网络,会有很多数据包进入,离开,或者经过 ...
- Linux下防火墙iptables用法规则详及其防火墙配置
转:http://www.linuxidc.com/Linux/2012-08/67952.htm iptables规则 规则--顾名思义就是规矩和原则,和现实生活中的事情是一样的,国有国法,家有家规 ...
随机推荐
- 将std::array转换成std::tuple
template<typename Array, std::size_t... Index> decltype(auto) array2tuple_impl(const Array& ...
- RocEDU.阅读.写作《乌合之众》(一)
序言 作者在序言里主要论述了时代演变的内在原因,表明对群体进行研究的重要性,阐述了研究群体行为特征时的研究方法,并概述了群体的发展过程. 造成文明变革的唯一重要变化,是影响到思想.观念和信仰的变化.目 ...
- 20145322《Java程序设计》第3次实验报告
实验内容,, 组队使用 git 上传代码并且互相下载对方代码修改之后再上传. 实现代码的重载 一. 使用git 上传代码 过程如图: 仨人成功上传后的代码图如下: 使用git 相互更改代码 执行git ...
- 关于JavaScript对象,你所不知道的事(一)- 先谈对象
这篇博文的主要目的是为了填坑,很久之前我发表了一篇名为关于JavaScript对象中的一切(一) - 对象属性的文章,想要谈一谈JavaScript对象,可那时只是贴了一张关于这个主题的思维导图,今天 ...
- MR案例:WordCount改写
请参照wordcount实现一个自己的MapReduce,需求为: a. 输入文件格式: xxx,xxx,xxx,xxx,xxx,xxx,xxx b. 输出文件格式: ...
- 使用BusyBox制作根文件系统
1.BusyBox简介 BusyBox 是很多标准 Linux 工具的一个单个可执行实现.BusyBox 包含了一些简单的工具,例如 cat 和 echo,还包含了一些更大.更复杂的工具,例如 gre ...
- vSphere SDK for Java 示例
示例代码: package com.vmware.event.connect; import java.net.MalformedURLException; import java.net.URL; ...
- [BZOJ4653 区间]
Description 在数轴上有 n个闭区间 [l1,r1],[l2,r2],...,[ln,rn].现在要从中选出 m 个区间,使得这 m个区间共同包含至少一个位置.换句话说,就是使得存在一个 x ...
- 拓扑排序(dfs)
int c[N];//c[u]=0表示从来没有访问过:c[u]=1表示已经访问过,并且还递归访问过它的所有子:c[u]=-1表示正在访问. int topo[N],t; int G[N][N]; bo ...
- Animal_human_kp人脸与马脸迁移学习GitHub 论文实现
Interspecies Knowledge Transfer for Facial Keypoint Detection关键点检测 Github地址:Interspecies Knowledge ...