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

相关推荐
努力努力再努力wz39 分钟前
【c++进阶系列】:万字详解异常
java·linux·运维·服务器·开发语言·c++
轻松Ai享生活1 小时前
实战`inotify` 和 `systemd.path` | 文件变化时触发操作
linux
静若繁花_jingjing1 小时前
网络_协议
网络
Hello阿尔法2 小时前
最强文本编辑器 Vim 常用命令集锦
linux·敏捷开发·命令行
大神的风范2 小时前
嵌入式linux相机(2)
linux·数码相机
Xの哲學2 小时前
Linux 定时器:工作原理与实现机制深入分析
linux·服务器·算法·架构·边缘计算
工藤新一¹2 小时前
进程状态 —— Linux内核(Kernel)
linux·运维·服务器·c/c++·进程状态·linux内核(kernel)
❀͜͡傀儡师3 小时前
对于Linux下的海量文件传输,rsync 是远比 scp 更优。
linux·运维·网络·rsync
Ronin3053 小时前
【Linux系统】线程互斥
linux·服务器·vscode·互斥量·线程互斥
人工智能训练师3 小时前
部署在windows的docker中的dify知识库存储位置
linux·运维·人工智能·windows·docker·容器