博客
关于我
iptables NAT表之SNAT、DNAT、REDIRECT介绍
阅读量:370 次
发布时间:2019-03-05

本文共 1313 字,大约阅读时间需要 4 分钟。

iptables NAT表之SNAT、DNAT、REDIRECT介绍

NAT: network address translation
PREROUTING,INPUT,OUTPUT,POSTROUTING
请求报文:修改源/目标IP,由定义如何修改
响应报文:修改源/目标IP,根据跟踪机制自动实现

SNAT

SNAT:source NAT POSTROUTING, INPUT
让本地网络中的主机通过某一特定地址访问外部网络,实现地址伪装
请求报文:修改源IP

SNAT工作过程:
本机IP 192.168.1.10
网关上的外网IP是111.111.111.111
本机数据包发送到网关,此时源IP是192.168.1.10,网关记录后在POSTROUTING链上把源IP改为111.111.111.111再发送

语法:
iptables -t nat -A POSTROUTING -s LocalNET ! -d LocalNet -j SNAT --to-source ExtIP

示例:
iptables -t nat -A POSTROUTING -s 192.168.1.0/24 -j SNAT --to-source 111.111.111.111
如果是动态IP则需要MASQUERADE

MASQUERADE:动态IP,如拨号网络
–to-ports port[-port]
–random

示例:
iptables -t nat -A POSTROUTING -s 192.168.1.0/24 -j MASQUERADE

DNAT

DNAT:destination NAT PREROUTING , OUTPUT
把本地网络中的主机上的某服务开放给外部网络访问(发布服务和端口映射),但隐藏真实IP
请求报文:修改目标IP

DNAT工作过程:
跟SNAT相反,DNAT是网关收到指定端口的数据包后发送到指定内网IP上

语法:
–to-destination [ipaddr[-ipaddr]][:port[-port]]
iptables -t nat -A PREROUTING -d ExtIP -p tcp|udp --dport PORT -j DNAT --to-destination InterSeverIP[:PORT]

示例:
iptables -t nat -A PREROUTING -d 111.111.111.111 -p tcp --dport 22 -j DNAT --to-destination 192.168.1.10

REDIRECT

REDIRECT也可以叫转发,属于NAT表
可用于:PREROUTING OUTPUT 自定义链
通过改变目标IP和端口,将接受的包转发至不同端口
–to-ports port[-port]

示例:
把本机8888收到的数据包转到80端口
iptables -t nat -A PREROUTING -d 192.168.1.10 -p tcp --dport 8888 -j REDIRECT --to-ports 80

转载地址:http://gdfwz.baihongyu.com/

你可能感兴趣的文章
codeforces The Eternal Immortality 题解
查看>>
蓝桥杯 历届试题 幸运数 (堆+DFS)
查看>>
(SDUT 2159)山东省第一届ACM省赛 Ivan comes again! (set集合综合运用)
查看>>
微信js-sdk使用简述(分享,扫码功能等)
查看>>
selenium 的介绍和爬取 jd数据
查看>>
python-selenium优化方案
查看>>
服务器 centos 系统漏洞快速修复简易方法
查看>>
【分享-一键在线抠图】在线免费去除图片背景
查看>>
图片预览自适应固定宽高div
查看>>
layui表格checkbox选择全选样式及功能
查看>>
mxsrvs支持thinkphp3.2伪静态
查看>>
mui HTML5 plus 下载文件
查看>>
环信SDK 踩坑记webIM篇(一)
查看>>
短信验证码倒计时代码
查看>>
【LeetCode】归并排序(python版)
查看>>
通信基础知识
查看>>
DSP开发板准备
查看>>
测试基本
查看>>
5.redo undo
查看>>
编码格式简介(ANSI、GBK、GB2312、UTF-8、GB18030和 UNICODE)
查看>>