iptables的NAT设置
时间:2009-03-19 来源:naihe2010
今天在机房现场,合作方的数据竟然是通过路由转发过来的。
这样的直接后果,就是内核不会把这种数据转到上层,我写的程序也就接收不到,于是郁闷不已。想做个NAT,结果两年前做防火墙时的经验荡然无存,MAN了半天竟然一头雾水,更郁闷了,晚上一起吃饭也不说话了。
回到宾馆,一查,竟然如此简单。记录一下:
最关键的两步:
以上是做DNAT,也就是说,改变目的地址,也可以改变源地址。相应的命令为,PREROUTING改为POSTROUTING,DNAT改为SNAT。
呵呵!
这样的直接后果,就是内核不会把这种数据转到上层,我写的程序也就接收不到,于是郁闷不已。想做个NAT,结果两年前做防火墙时的经验荡然无存,MAN了半天竟然一头雾水,更郁闷了,晚上一起吃饭也不说话了。
回到宾馆,一查,竟然如此简单。记录一下:
最关键的两步:
一、echo "1" > /proc/sys/net/ipv4/ip_forward(第一个,是把数据转到1.2.3.5,第二个,是把数据转到本机的8000)
二、iptables -t nat -A PREROUTING -p udp -s 1.2.3.4 -j DNAT --to 1.2.3.5
或者
iptables -t nat -A PREROUTING -p udp -s 1.2.3.4 -j REDIRECT --to-port 8000
以上是做DNAT,也就是说,改变目的地址,也可以改变源地址。相应的命令为,PREROUTING改为POSTROUTING,DNAT改为SNAT。
呵呵!
相关阅读 更多 +