免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 2436 | 回复: 3
打印 上一主题 下一主题

[vpn] 请教iptables NAT规则设置问题 建立中继节点 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2011-10-18 17:52 |只看该作者 |倒序浏览
最近在做板载嵌入式实现iptables移植、NAT转发功能的任务,遇到一个问题,请大家帮忙指点,谢谢!
问题如下:
网络结构:
转发节点B:双网卡,一个是wifi内网ra0 192.168.1.100 ,一个是eth0外网,59.64.150.118,网关59.64.150.1
内网节点A:wifi网卡,ra0,192.168.1.18,默认网关192.168.1.100
外网节点C:eth0,59.64.150.170 默认网关59.64.150.1

iptables设置如下:
EXTIF="eth0"
INIF="ra0"
INNET="192.168.1.0/24"
25 iptables -F
26 iptables -X
27 iptables -Z
28 iptables -P INPUT ACCEPT
29 iptables -P OUTPUT ACCEPT
30 iptables -P FORWARD ACCEPT
31 iptables -A INPUT -i lo -j ACCEPT
32 iptables -A INPUT -m state --state RELATED -j ACCEPT
33 iptables -A INPUT -i ra0 -j ACCEPT
34
35 iptables -F -t nat
36 iptables -X -t nat
37 iptables -Z -t nat
38 iptables -t nat -P PREROUTING ACCEPT
39 iptables -t nat -P POSTROUTING ACCEPT
40 iptables -t nat -P OUTPUT ACCEPT
41
42 iptables -A INPUT -i $INIF -j ACCEPT
43 echo "1" > /proc/sys/net/ipv4/ip_forward
44 for innet in $INNET
45 do
46        iptables -t nat -A POSTROUTING -s $innet -o $EXTIF -j MASQUERADE
47done
如上设置,A节点可以ping通C节点
但当我把46行改成SNAT规则的时候就不行了
把46行注释掉
for循环外面加一行 iptables -t nat -A POSTROUTING -s 192.168.1.18 -o eth0 -j SNAT --to 59.64.150.18
重新设置iptables,A就ping不到C了。但是A可以ping到B的外网IP59.64.150.118,就是ping不到59.64.150.*网段里的其他机器
请问这是为什么呢。。。问题出在哪儿。。
另外想询问一下用DNAT设置能否让C ping到A啊?我设置了也不行..iptables -t nat -A PREROUTING -i eth0 -d 59.64.150.18 -j DNAT --to 192.168.1.18
谢谢大家。。。

论坛徽章:
0
2 [报告]
发表于 2011-10-19 10:32 |只看该作者
泪。。求指教啊。。

论坛徽章:
0
3 [报告]
发表于 2011-10-20 15:31 |只看该作者
回复 1# parrot18


    内核有加载么

   开启log debug信息跟踪

论坛徽章:
0
4 [报告]
发表于 2011-11-02 16:55 |只看该作者
回复 3# kns1024wh


    恩,我试试,谢谢
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP