曲径通幽论坛

 找回密码
 立即注册
搜索
查看: 2635|回复: 0
打印 上一主题 下一主题

POSTROUTING 和 PREROUTING 应用举例

[复制链接]

4918

主题

5880

帖子

3万

积分

GROAD

曲径通幽,安觅芳踪。

Rank: 6Rank: 6

积分
34395
跳转到指定楼层
楼主
发表于 2014-4-16 11:08:31 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
1. POSTROUTING 举例
  1. iptables -t nat -A POSTROUTING -o eth0 -s 192.168.0.0/24 -j SNAT --to 118.88.19.110
复制代码


-t nat :  选择表,表示使用 Netfilter 的 NAT 机制。

-A POSTROUTING : 选择功能,表示要执行的操作为 SNAT 机制。

-o eth0 : 选择数据包流向的网口,在执行 SNAT 或 DNAT 时该项必选,否则出错。

-s 192.168.0.0/24 : 指定来源网段。

-j SNAT --to 118.88.19.110 : 如果数据包符合上面给出的条件,那么将源 IP 改为 118.88.19.110,这个就是 NAT 主机对外的公网 IP 了。


经过上面的设置后,处于 192.168.0.0/24 网段中的计算机就可以上网了。可能会对此有疑问,只设置数据包的流出方向,而不设置数据包的进入方向?答案是,我们不必要担心这个问题,因为 Netfilter 的工程师也早已想到,为了我们的方便,就自动的将另一半给补上了,这对于我们来说是透明的。因此,不管使用的是 SNAT 还是 DNAT 规则,NAT 机制都会自动为我们考虑另一个方向的数据包。

2. PREROUTING 举例
  1. iptables -t nat -A PREROUTING -i eth0 -d 118.99.19.110 -j DNAT --to 192.168.1.100
复制代码


如果说 POSTROUTING 是用于内网向外网 NAT 的转换访问,那么 PREROUTING 则用在外网向内网的 NAT 访问了。比如,我们在内网里假设了一台 WEB 服务器(IP 地址为 192.168.1.100),而在路由主机的公网 IP 是 118.99.19.110,这时候就要用到 PREROUTING 。

上面命令的语法和 SNAT 的相似。需要注意的是,POSTROUTING 时,网卡那里是 -o eth0,而 PREROUTING 时,用的是 -i eth0 。整条命令的意思是(以 WEB 服务器为例说明),外网向 118.99.19.110 这个 IP 发送 HTTP 请求时,都转到 192.168.1.00 这台内网计算机上。

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|曲径通幽 ( 琼ICP备11001422号-1|公安备案:46900502000207 )

GMT+8, 2025-5-7 01:38 , Processed in 0.094223 second(s), 26 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表