|
环境如下
1, 机器A, wlan0/eth0
OS: Fedora 13
wlan0: 连接无线路由器,自动获取局域网地址 192.168.1.101, 网关 192.168.1.1
无线路由器直接连internet
eth0: 手动设置IP地址 192.168.10.1
2, 无线路由器B ,Internet口接 机器A的eth0
internet IP: 192.168.10.10 , 网关 192.168.10.1,为机器A的eth0的IP
本机IP: 192.168.3.1
3,机器C, 接无线路由器B的一个lan口, 自动获得IP: 192.168.3.100
OS: Fedora 13
需要实现目的:
一:192.168.1.x网段与 192.168.3.x网段能够互相访问
在机器A和其他同网段的机器上,能ping 192.168.3.100
二:192.168.3.x网段可以透过机器A的wlan0 上网。
在机器A上, 我已经做了以下步骤
1, # echo 1 > /proc/sys/net/ipv4/ip_forward //打开IP路由转发
2, # iptables -t filter -F //清除iptables相关规则
3,# iptables -t nat -A POSTROUTING -s 192.168.10.0/24 -j SNAT --to-source 192.168.1.101
// 在机器A上建立SNAT
//SNAT建立好之后, 192.168.3.x网段可以访问192.168.1.x网段,也能通过WLAN0上网。
4, #iptables -t nat -A PREROUTING -d 192.168.1.101 -j DNAT --to-destination 192.168.10.1
目前问题是步骤四的DNAT建立不正常,无法实现192.168.1.x网段去访问 192.168.3.x网段, 我使用的工具是ping.
请问
1, DNAT哪里出错,该如何处理?
2, 再网络上看到类似如下的命令: iptables -t nat -A PREROUTING -d 192.168.1.101 -p tcp --dport 80 -j DNAT --to 192.168.3.100:80
其中 "-d 192.168.1.101" 是否必须要公网地址?
DNAT是否必须要 -p 指定 protocol , -dport/sport等指定端口?
能否向 SNAT这样,让两个局域网之间通过机器A 相互访问, 能否使用ping去验证?
问题有点多, 不过让我非常头疼, 盼有人帮忙解答, 非常感谢! |
|