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

相关推荐
好奇的菜鸟31 分钟前
WSL上的Ubuntu 24.04 (Noble Numbat) 配置阿里云镜像源,提速软件安装
linux·ubuntu·阿里云
海棠蚀omo1 小时前
Linux信号保存的核心:未决信号集与阻塞信号集——探秘内核如何实现信号的阻塞、暂存与派发
linux·操作系统
لا معنى له1 小时前
残差网络论文学习笔记:Deep Residual Learning for Image Recognition全文翻译
网络·人工智能·笔记·深度学习·学习·机器学习
爬山算法2 小时前
Redis(153)Redis的网络使用如何监控?
网络·redis·bootstrap
傲世(C/C++,Linux)2 小时前
Linux系统编程——TCP服务器
linux·服务器·tcp/ip
杨云龙UP2 小时前
SQL Server 备份异地同步 + 清理脚本
运维·服务器·数据库·sql·mysql·sqlserver
极地星光2 小时前
C++链式调用设计:打造优雅流式API
服务器·网络·c++
橘子真甜~3 小时前
C/C++ Linux网络编程8 - epoll + ET Reactor TCP服务器
linux·服务器·网络
万变不离其宗_83 小时前
centos 手动安装redis
linux·redis·centos
_lst_3 小时前
linux进程状态
linux·运维·服务器