社区
系统维护与使用区
帖子详情
SNAT 与 DNAT
hblfknight
2002-05-22 09:50:26
在使用IPTABLES时什么情况下用SNAT,什么情况下用DNAT,有时我看一些例子我都搞不清了,究竟代表什么意思?
...全文
154
3
打赏
收藏
SNAT 与 DNAT
在使用IPTABLES时什么情况下用SNAT,什么情况下用DNAT,有时我看一些例子我都搞不清了,究竟代表什么意思?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
3 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
hblfknight
2002-05-24
打赏
举报
回复
这就是透明代理吧
wibill
2002-05-23
打赏
举报
回复
请看下面说明:
源NAT(SNAT)
比如,更改所有来自192.168.1.0/24的数据包的源ip地址为1.2.3.4:
iptables -t nat -A POSTROUTING -s 192.168.1.0/24 -o eth0 -j SNAT --to 1.2.3.4
这里需要注意的是,系统在路由及过虑等处理直到数据包要被送出时才进行SNAT。
有一种SNAT的特殊情况是ip欺骗,也就是所谓的Masquerading,通常建议在使用拨号上网的时候使用,或者说在合法ip地址不固定的情况下使用。比如
# iptables -t nat -A POSTROUTING -o ppp0 -j MASQUERADE
可以看出,这时候我们没有必要显式的指定源ip地址等信息。
目的SNAT(DNAT)
比如,更改所有来自192.168.1.0/24的数据包的目的ip地址为1.2.3.4:
iptables -t nat -A PREROUTING -s 192.168.1.0/24 -i eth1 -j DNAT --to 1.2.3.4
这里需要注意的是,系统是先进行DNAT,然后才进行路由及过虑等操作。
有一种DNAT的特殊情况是重定向,也就是所谓的Redirection,这时候就相当于将符合条件的数据包的目的ip地址改为数据包进入系统时的网络接口的ip地址。通常是在与squid配置形成透明代理时使用,假设squid的监听端口是3128,我们可以通过以下语句来将来自192.168.1.0/24,目的端口为80的数据包重定向到squid监听端口:
iptables -t nat -A PREROUTING -i eth1 -p tcp -s 192.168.1.0/24 --dport 80 -j REDIRECT --to-port 3128
东门河蟹
2002-05-23
打赏
举报
回复
一般来说,对外访问用snat,而对方访问自己做dnat
简单的说snat就是改变源地址,dnat就是改变目的地址
VMware之S
NAT
与D
NAT
.docx
VMware之S
NAT
与D
NAT
iptables之S
NAT
和D
NAT
iptables、S
NAT
和D
NAT
实验
iptables的S
NAT
和D
NAT
地址转换配置.pdf
iptables的S
NAT
和D
NAT
地址转换配置.pdf 学习资料 复习资料 教学资源
IPTABLES、S
NAT
、D
NAT
网关策略
关于拿linux系统当路由器做
NAT
用的。
使用S
NAT
、D
NAT
策略实现网关应用
打开密码 www.clvn.com.cn
系统维护与使用区
19,613
社区成员
74,602
社区内容
发帖
与我相关
我的任务
系统维护与使用区
系统使用、管理、维护问题。可以是Ubuntu, Fedora, Unix等等
复制链接
扫一扫
分享
社区描述
系统使用、管理、维护问题。可以是Ubuntu, Fedora, Unix等等
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章