linux下的软件防火墙iptables――nat表规则的设定


本文摘自PHP中文网,作者齐天大圣,侵删。

iptables除了最常用的filter表外,偶尔也会用到nat表。nat即网络地址转换,它是用来修改源ip地址或目的ip地址的。现在我们看下简单的数据包通过iptables到后端主机的表格与链的流程。

1.经过NAT表的PREROUTING链

2.经过路由判断该数据包是否要进入本机,若不进入,则执行下一步操作

3.经过Filter的FORWARD链

4.经过NAT表的POSTROUTING链,最后传送出去

和NAT相关的是第一步和最后一步,也就是PREROUTING链和POSTROUTING链。

  • PREROUTING链修改的是目的IP,简称DNAT

  • POSTROUTING链修改的是源IP,简称SNAT

DNAT

那么哪些场景需要用到DNAT,对于SNAT常见的应用有哪些呢?对于DNAT,最常见的是将内网的端口映射到外网中,让其他用户可以访问。这样做内网的安全性大大提升,因为外网是不能直接和内网进行数据传输的。

场景:内网有一台主机A(192.168.1.111)上面架设了一个网站,内网中还有一台主机B(192.168.1.2)具有公网ip(39.100.92.12),那么如何让外网的用户访问到A上面的网站。

这个时候,就需要对B主机上做DNAT操作,让目的地址从公网ip39.100.92.12修改为内网地址192.168.1.111。操作如下:

1

2

# iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 80 \

> -j DNAT --to-destination 192.168.1.111:80

PREROUTING链中除了能够对ip做修改,还能对端口进行修改。比如将80端口映射为8080端口,但操作名已经不叫DNAT,而是REDIRECT。

阅读剩余部分

相关阅读 >>

Linux下怎么杀死mysql进程

如何在创建模板或创建版本之后使用模板创建实例

Linux操作系统下cpu的中断

如何创建基于ecs和rds的wordpress环境

Linux中sed命令和awk命令的使用方法

Linux无法识别u盘

Linux安装redis教程

Linux下查看内存的命令是什么?

Linux修改主机名的方法

如何在whm/cpanel中更改主域的文档根目录

更多相关阅读请进入《Linux》频道 >>



打赏

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,您说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

分享从这里开始,精彩与您同在

评论

管理员已关闭评论功能...