博客
关于我
iptables NAT表之SNAT、DNAT、REDIRECT介绍
阅读量:371 次
发布时间: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/

你可能感兴趣的文章
秋月何时了,CSS3 border-radius知多少?
查看>>
linux运维中常用的命令
查看>>
M1芯片的macbook安装王者荣耀,原神,崩坏方法
查看>>
CentOS7更改成阿里云的源
查看>>
Java温故而知新-反射机制
查看>>
Netty3事件处理顺序问题
查看>>
eclipse引用sun.misc开头的类
查看>>
firefox中angular2嵌套发送请求问题
查看>>
Netty 知识整理 (2)HttpServerCodec和HttpObjectAggregator用法
查看>>
【Linux】service命令
查看>>
【mysql】事务隔离与mvcc的误区
查看>>
【mybatis3】调试/断点打印日志
查看>>
Leetcode 102题.从中序与后序遍历序列构造二叉树
查看>>
C++
查看>>
[CTFSHOW]PHP特性
查看>>
navigator对象
查看>>
程序员面试防坑宝典,带你手撸红黑树,一文轻松搞定
查看>>
关于EFI系统分区(ESP)你应该知道的3件事
查看>>
题目总结 web 51-100
查看>>
5.Mybatis复杂映射开发
查看>>