首页 > 系统相关 >七月学习之Iptables地址转换

七月学习之Iptables地址转换

时间:2023-08-07 20:00:57浏览次数:49  
标签:Iptables 10.0 七月 转换 iptables 地址 172.16 yes eth1

七月学习之Iptables地址转换_源地址

8、Iptables地址转换

8.1、什么是NAT

网络地址转换(NAT),意思也比较清楚:对(数据包)的网络地址(IP + PORT)进行转换
例如,机器自己的IP10.1.1.2是能与外部正常通信的,但是192.168网段是私有IP段。无法与外界通信
因此当源地址为192.168网段的包要出去时,机器会先将源IP换成机器自己的10.1.1.2再发送出去:收到应答包时,再进行相反的转换,这就是NAT的基本过程

七月学习之Iptables地址转换_源地址_02

8.2、NAT的几种模式

SNAT:源地址转换
DNAT:目标地址转换
PNAT:端口转换

8.3、NAT环境搭建

1.准备iptables节点
	eth0:10.0.0.200
	eth1: 172.16.1.200
	开启forward
	
cat /etc/sysconfig/network-scripts/ifcfg-eth0 
TYPE=Ethernet
BOOTPROTO=none
DEFROUTE=yes
NAME=eth0
DEVICE=eth0
ONBOOT=yes
IPADDR=10.0.0.200
PREFIX=24
GATEWAY=10.0.0.2
DNS1=223.5.5.5

cat /etc/sysconfig/network-scripts/ifcfg-eth1
TYPE=Ethernet
BOOTPROTO=none
DEFROUTE=yes
NAME=eth1
DEVICE=eth1
ONBOOT=yes
IPADDR=172.16.1.200
PREFIX=24

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

2.准备后端集群节点
	eth1: 172.16.1.7	 Gateway: 172.16.1.200
	eth1: 172.16.1.8	 Gateway: 172.16.1.200

cat /etc/sysconfig/network-scripts/ifcfg-eth1 
TYPE=Ethernet
BOOTPROTO=none
DEFROUTE=yes
NAME=eth1
DEVICE=eth1
ONBOOT=yes
IPADDR=172.16.1.7
PREFIX=24
GATEWAY=172.16.1.200
DNS1=223.5.5.5

ifdown eth1 && ifup eth1
ifdown eth0

七月学习之Iptables地址转换_源地址_03

8.4、SNAT场景配置

实现内网主机通过防火墙访问公网,需要使用SNAT(源地址转换POSTROUTING)
1、指定从哪个ip地址转换出去(静态公网地址)
SNAT配置:必须使用nat表;
iptables -t nat -I POSTROUTING -s 172.16.1.0/24 -j SNAT --to 10.0.0.200
iptables -t nat -L
2、当外网源地址为动态获取的地址时,MASQUERADE可自行判断要转换为的外网地址
iptables -t nat -I POSTROUTING -s 172.16.1.0/24 -j MASQUERADE

8.5、DNAT场景配置

实现外网主机通过防火墙访问内部主机80端口,需要通过DNAT(目标地址转换PREROUTING)
1、端口映射,将公网IP+PORT映射到私网的IP+PORT
DNAT配置(必须先实现SNAT):
iptables -t nat -I PREROUTING -d 10.0.0.200 -p tcp --dport 80 -j DNAT --to 172.16.1.7:80
2、地址映射,将公网地址映射到私网地址
iptables -t nat -I PREROUTING -d 10.0.0.200 -j DNAT --to 172.16.1.7

标签:Iptables,10.0,七月,转换,iptables,地址,172.16,yes,eth1
From: https://blog.51cto.com/u_13236892/6997062

相关文章

  • Linux:防火墙iptables与firewalld的启停
    Linux关闭防火墙firewall和iptables命令_永久关闭iptables防火墙_红烧柯基的博客-CSDN博客Linux防火墙——iptables以及firewalld的使用介绍_树下一少年的博客-CSDN博客干货!Linux防火墙配置(iptables和firewalld)_数据包_规则_进行 iptables与firewalld1、状态syste......
  • Siemens 西门子PROFINET:设备名、IP地址、MAC地址解析分别有什么用?
    对于PROFINET网络来说,涉及了几个地址参数,设备名、IP地址、MAC地址。不仅如此,每个PROFINET的设备的MAC地址还有多个。如会存在接口模块的MAC地址和端口MAC地址。若一个接口下有多个端口就会有多个端口MAC地址。那么我们需要弄明白的一件事是,这些地址都有什么作用,有......
  • [Microsoft Azure] Microsoft Azure VM IP地址更换的方法和步骤详解
    在本文中,我们将详细介绍如何更改MicrosoftAzureVM的IP地址。对于使用AzureVM的用户来说,有时可能需要更改IP地址,以满足特定的网络需求或解决IP地址冲突问题。以下是更改AzureVMIP地址的方法和步骤详解。概述:登录到Azure门户打开虚拟机详细信息页面创建新......
  • Android模拟器DNS设置、使用adb命令获取手机ip地址
    https://blog.csdn.net/bonardgalton/article/details/5353296Android模拟器默认的地址是10.0.2.3,默认的DNS也是10.0.2.3,对于在家里上网学习Android的人(像我)来讲,一般电脑的IP都是192.168.1.100之类的,不在同一个网段。所以就会出现电脑可以上网但是模拟器不能上网的情况。其实设置......
  • IP地址概述与应用
     1.IP地址是什么?    主机唯一的标识,保证主机间正常通信     一种网络编码,用来确定网络中一个节点 逻辑地址    IP地址由32位二进制(32bit)组成   2.IP地址的组成网络部分(network)、主机部分(hostname)注:A类:1网+3主B类:2网+2主C类:3网+1主3.IP地址的分类    A:1-126......
  • 七月学习之Iptables连接追踪state
    7、Iptables连接追踪state7.1、什么是连接追踪state(conntrack)连接追踪,顾名思义,就是跟踪(并记录)连接的状态如下图:是一台IP地址为10.1.1.2的linux机器,我们能看到这台机器上有三条连接1、机器访问外部HTTP服务的连接(目的端口80)2、外部访问机器内FTP服务的连接(目的端口21)3......
  • 多个C文件混合编译,涉及函数相互调用,地址传递要注意的!
    tc.h#pragmaoncechar*fun();//main函数调用到这个函数,但是在其他.c中定义,在头文件申明下先tacc.c#include<stdio.h>char*fun(){printf("saDHAKJHFJ\n");inti=100;printf("i=%d\n",i);char*pr=(char*)malloc(100);*pr......
  • 七月学习之Iptables基本匹配
    5、Iptables基本匹配我们前面在练习规则操作时,使用的"匹配条件"比较少,下面我们来了解下iptables匹配条件更多的用法5.1、iptables匹配参数5.2、iptables匹配示例1仅允许10.0.0.1访问10.0.0.200服务器的22端口、其他地址全部拒绝。#-I插入规则至第一行、—A追加规则、-s源地址、-d......
  • 虚拟机 中 centos8 ens33 无ip地址 解决
    执行以下命令#查看托管状态nmclin#显示disabled则为本文遇到的问题,如果是enabled则可以不用往下看了#开启托管nmclinon#重启systemctlrestartNetworkManager然后就可以继续玩耍了......
  • 网络接口dhcp失败时会获得一个169.254.x.x的IP地址
    最开始发现这个现象是在windows上面,之前以为是dhcp失败后,会有个随机值作为IP地址,以为是个垃圾数据,是windows特有的行为。最近一个项目,基于buildroot构建,用到4G上网功能,在开发其他功能,一直没插SIM卡,总发现4G接口会拿到一个奇怪的IP地址169.254.118.160。测试把这个问题当作一个bug......