NAT服务器

本文介绍了NAT(网络地址转换)的工作原理及其在iptables中的配置方法,包括PREROUTING链、FORWARD链和POSTROUTING链的作用,以及如何使用iptables实现SNAT和DNAT。同时对比了NAT服务器与普通路由器的区别。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

NAT(网络地址转换)
1>先经过NAT table 的 PREROUTING链 //修改目的IP
2>经由路由判断确定这个数据包是否要进入本机,若不进入主机则下一步
3>再经过 Filter table 的 FORWARD 链
4>通过NAT table 的 POSTROUTING链,最后传送出去 //修改源IP

NAT服务器和路由器的区别:
1、基本上NAT服务器一定是路由器,不过NAT服务器会修改IP报头数据,因此和普通的单纯传递数据包的路由器不同。
2、一般作为IP分享器的NAT服务器都是一边为public IP一边为private IP,而路由器两边为private IP或两边为public IP。

NAT脚本:

iptables -A INPUT -i $INIF -j ACCEPT
#$INIF指内网接口

echo "1" > /proc/sys/net/ipv4/ip_forward
#让Linux具有路由功能

iptables -t net -A POSTROUTING -s $innet -o $EXTIF -j MASQUERADE
#$innet指私有网段
#$EXTIF指对外接口

SNAT:修改数据报文的源IP或源端口
DNAT:修改数据报文的目的IP或目的端口

静态SNAT

iptables -t nat -A POSTROUTING -o eth0 -j SNAT --to-source 192.168.1.100

动态SNAT

iptables -t nat -A POSTROUTING -o eth0 -j SNAT --to-source 192.168.1.100-192.168.1.200

DNAT

iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 80 \
-j DNAT --to-destination 192.168.100.10:80
#将从eth0传入的对tcp80端口的请求重新传递到192.168.100.10:80上

iptables -t nat -A PREROUTING -p tcp --dport 80 \
-j REDIRECT --to-ports 8080
#本机上的端口转发

转载于:https://blog.51cto.com/gdutcxh/2121073

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值