Linux iptables地址转换

一.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

二.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

相关推荐
野犬寒鸦2 分钟前
从零起步学习并发编程 || 第六章:ReentrantLock与synchronized 的辨析及运用
java·服务器·数据库·后端·学习·算法
HalvmånEver4 分钟前
Linux:线程互斥
java·linux·运维
番茄灭世神17 分钟前
Linux应用编程介绍
linux·嵌入式
wdfk_prog17 分钟前
[Linux]学习笔记系列 -- [drivers][mmc][mmc_sdio]
linux·笔记·学习
Forsete36 分钟前
LINUX驱动开发#9——定时器
linux·驱动开发·单片机
saber_andlibert41 分钟前
TCMalloc底层实现
java·前端·网络
森G1 小时前
七、04ledc-sdk--------makefile有变化
linux·c语言·arm开发·c++·ubuntu
驱动探索者1 小时前
linux mailbox 学习
linux·学习·算法
alice--小文子1 小时前
cursor-mcp工具使用
java·服务器·前端
酉鬼女又兒2 小时前
每天一个Linux命令_printf
linux·运维·服务器