当前位置: 首页 > news >正文

snat、dnat和firewalld

目录

概述

SNAT源地址转换

DANT目的地址转换

抓包

firewalld

端口管理


概述

snat :源地址转换

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

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

DNAT:目的地址转发

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

也就是私网的IP和公网IP做一个映射

SNAT源地址转换

步骤:

1.修改路由器ens33的IP地址,改成内网网关

2.修改路由器ens36的IP地址,改成外网网关

3.修改外网的IP地址和网关

4.修改内网的网关

5.配置路由器的内核参数文件

6.设置nat表的规则

-t nat 指定表为nat表

-A POSTROUING 离开本机   -A添加

-s 指定源IP

-o 指定输出网络设备

-j 控制类型 

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

7.重启网卡 systemctl restart network

8.查看外网的日志

DANT目的地址转换

1.路由器设置规则

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

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

-p指定协议

-j DNAT  使用目的地址转换

--to 192.168.233.10 

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

iptables -t nat -A PREROUTING -d 10.0.0.10 -i ens36 -p tcp --dport 80 -j DNAT --to 20.0.0.10:80

抓包

在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 指定抓包的协议  udp icmp 第一个参数,可以不指定协议

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

-t  不显示时间戳

-s0  抓完整的数据包

-c 10   指定抓包的目的端口

dst port  指定抓包的目的端口

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

net  网段

host 主机(IP地址)

-w 保存指定路径

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

动态 

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

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

tcpdump -i ens33 

firewalld

ubantu的不同  ufw  ubantu firewalld开启防火墙  ufw ubantu firewalld 关闭防火墙

它是按照区域来划分的

firewall-config

public:公共区域,默认配置了ssh以及DHCPv6预定服务是放通的,其他全部都是拒绝,默认区域

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

block:限制区域,拒绝所有

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

dmz:非军事区域,默认只运行ssh通过

home:家庭区域。默认只允许ssh通过

internal:内部区域,和home一模一样

external:外部区域,也是默认允许ssh通过,其他全部拒绝

work:工作区域,默认允许ssh通过

firewall-cmd 命令行工具

firewall-cmd --get-default-zone  查看当前系统的默认区域

firewall-cmd --list-all 查看当前区域设定的规则

firewall-cmd --set-default-zone=block  切换区域

firewall-cmd --list-services  查看区域内允许访问的服务

dhcpv6-client 获取ipv6的地址

interfaces: ens33 该区域默认使用的网卡设备

firewall-cmd --zone=pulic --change-interface=ens36 修改区域使用的网卡设备

firewall-cmd --add-service=http --zone=pulic  添加服务

firewall-cmd --add-servicr={ftp,nfs,http} --zone=pulic --permanent 添加多个服务并且永久生效

firewall-cmd --remove-servicr={ftp,nfs,http} --zone=pulic --permanent 删除多个服务

firewall-cmd --reload 重启

查看当前系统的默认区域

firewall-cmd --get-default-zone

查看当前区域设置的规则

firewall-cmd --list-all

切换当前系统的默认区域

firewall-cmd --set-default-zone=block
firewall-cmd --set-default-zone=drop

查看区域内允许访问的服务

firewall-cmd --list-service
firewall-cmd --list-services
#两个都行,效果一样

修改区域默认使用的网络设备

firewall-cmd --zone=public --change-interface=ens36
firewall-cmd --zone=home --remove-interface=ens36

添加服务到默认域中

firewall-cmd --add-service=http --zone=public

多个服务,永久添加

firewall-cmd --add-service={ftp,nfs,http} --zone=public --permanent
#--permanent 永久添加

删除服务

firewall-cmd --remove-service=http --zone=public

重新加载

firewall-cmd --reload

端口管理

firewall-cmd --zone=pulic --add-port=80/tcp 添加端口

firewall-cmd --zone=pulic --add-port=80/tcp  --permanent 永久生效 

fierwall-cmd --add-source=192.168.233.20  添加源地址 

添加端口到默认域中

firewall-cmd --zone=public --add-port=80/tcp

添加端口并指定协议,端口在前协议在后,用 / 分割

firewall-cmd --zone=public --add-port={80,21,3306,22}/tcp

删除端口

firewall-cmd --zone=public --remove-port=80/tcp

添加源IP

firewall-cmd --zone=block --add-source=192.168.233.20
firewall-cmd --get-active-zone

http://www.lryc.cn/news/387601.html

相关文章:

  • [数据集][目标检测]鸡蛋缺陷检测数据集VOC+YOLO格式2918张2类别
  • 前后端防重复提交
  • JVM专题八:JVM如何判断可回收对象
  • binary_cross_entropy_with_logits函数的参数设定
  • Python 面试【★★★★★】
  • C# StringBuilder
  • 4个文章生成器免费版分享,让文章创作更轻松便捷
  • redis-cluster(集群模式搭建)
  • 使用vite官网和vue3官网分别都可以创建vue3项目
  • PDF处理篇:如何调整 PDF 图像的大小
  • STM32 HAL库里 串口中断回调函数是在怎么被调用的?
  • 音视频入门基础:H.264专题(5)——FFmpeg源码中 解析NALU Header的函数分析
  • RT-Thread ENV-Windows v2.0.0安装教程
  • [HBM] HBM TSV (Through Silicon Via) 结构与工艺
  • 基于STM32的温湿度检测TFT屏幕proteus恒温控制仿真系统
  • 【Qt+opencv】编译、配置opencv
  • RDMA建链的3次握手和断链的4次挥手流程?
  • 实验4 图像空间滤波
  • 独辟蹊径:我是如何用Java自创一套工作流引擎的(下)
  • 【Python】pycharm常用快捷键操作
  • es6语法复习一
  • 【python入门】自定义函数
  • ONLYOFFICE 桌面编辑器 8.1 版发布:全面提升文档处理效率的新体验
  • ESP32实现UDP连接——micropython版本
  • Windows Ternimal
  • Unity扩展编辑器功能的特性
  • API类别 - UI核心
  • Redis-主从复制-配置主从关系
  • DigiRL:让 AI 自己学会控制手机
  • 04.Ambari自定义服务开发-自定义服务配置文件在Ambari中的设置方法