安全技术和防火墙(二)

接上一节

备份和还原

iptables-save > /opt/iptables.bak

iptables-restore < /opt/iptables.bak

snat和dnat

snat源地址转换

内网到外网 内网ip转换成可以访问外网的ip

内网的多个主机可以只有一个有效的公网ip地址访问外部网络

dnat 目的地址转发

外部用户,可以通过一个公网地址访问服务内部的私网服务。

私网的ip和公网ip做一个映射

snat源地址转换

iptables -t nat -A POSTROUTING -s 192.168.233.0/24 -o ens36 -j SNAT --to 10.0.0.10

-A POSTROUTING用于在包路由之后修改源地址(当包从内部网络路由到外部网络时)

-t nat 指定表为nat表

-A POSTROUTING A添加 离开本机之后规则

-s 指定源ip

-o指定输出网络设备

-j 控制类型 SNAT源地址

--to 指定整个网段 192.168.233.0/24 从ens36出去时做源地址转换 成 10.0.0.10

DNAT 目的地址转换

iptables -t nat -A PREROUTING -d 11.0.0.11 -i ens36 -p tcp --dport 80 -j DNAT --to 192.168.233.10

-A PREROUTING在路由决策之前修改目标地址

-d 11.0.0.11 指定做为目的地址转换的ip地址

-i从指定的设备进入本机

-p指定协议

--dport指定端口

-j DNAT使用目的地址转换

--to 192.168.233.10

外网想要访问内网的192.168.233.10:80的这个web服务。只需要访问11.0.0.11就可以访问内网的web服务。

12.0.0.100 > 11.0.0.11 > 192.168.233.10

linux当中如何抓包:

tcpdump linux自带的抓包工具 完全安装自带 最小化安装需要自己安装

静态和动态抓包

静态:

tcpdump tcp -i ens33 -t -s0 -c 10 and dst port 80 and src net 192.168.233.0/24 -w /opt/target.cap

tcp 指定抓包的协议 (tcp udp icmp) 第一个参数 可以不指定协议

-i 只抓经过指定设备(ens33)的包

-t:不显示时间戳

-s0:抓完整的数据包

-c10:抓几个数据包

dst port :指定抓包的目的端口

src net 192.168.233.0/24 :指定抓包的ip地址

写net代表网段

host代表主机(ip地址)

-w 保存指定路径

使用sz target.cap 把文件下载下来 可以直接用实体机 wireshark软件打开 分析

注意 如果要用wireshark对数据包进行分析, tcpdump在抓包时,要使用-s0,抓取完整格式, 否则wireshark无法分析。

动态抓包

tcpdump -i ens33 -s0 -w /opt/ens33.cap

firewalld

firewalld是centos7自带的 7以前的默认是iptables

firewalld是按照区域来进行划分 包过滤防火墙

public 公共区域(默认区域) 默认配置了ssh以及DHCPv6预定服务放通,其他拒绝

trusted 信任区域 允许所有的数据包放通

block 限制区域 拒绝所有

drop 丢弃区域 丢弃所有数据包

dmz 非军事区域 默认只允许ssh

home 家庭区域 默认只允许ssh

internal 内部区域 和home一样

external 外部区域 默认只允许ssh

work 工作区域 默认放通ssh

相关推荐
释怀不想释怀5 分钟前
Linux环境变量
linux·运维·服务器
zzzsde11 分钟前
【Linux】进程(4):进程优先级&&调度队列
linux·运维·服务器
凡人叶枫22 分钟前
C++中智能指针详解(Linux实战版)| 彻底解决内存泄漏,新手也能吃透
java·linux·c语言·开发语言·c++·嵌入式开发
yuanmenghao44 分钟前
Linux 性能实战 | 第 7 篇 CPU 核心负载与调度器概念
linux·网络·性能优化·unix
qq_297574671 小时前
Linux 服务器 Java 开发环境搭建保姆级教程
java·linux·服务器
70asunflower1 小时前
Emulation,Simulation,Virtualization,Imitation 的区别?
linux·docker
聆风吟º2 小时前
CANN开源项目实战指南:使用oam-tools构建自动化故障诊断与运维可观测性体系
运维·开源·自动化·cann
NPE~2 小时前
自动化工具Drissonpage 保姆级教程(含xpath语法)
运维·后端·爬虫·自动化·网络爬虫·xpath·浏览器自动化
神梦流2 小时前
GE 引擎的内存优化终局:静态生命周期分析指导下的内存分配与复用策略
linux·运维·服务器
凡人叶枫2 小时前
C++中输入、输出和文件操作详解(Linux实战版)| 从基础到项目落地,避坑指南
linux·服务器·c语言·开发语言·c++