根据我们的情况为何我觉得sit tunnel比gre tunnel更合适?
两端都有公网ip……
--
您收到此邮件是因为您订阅了“西电开源社区”邮件列表。
要向此邮件列表发帖,请发送电子邮件至 xidian...@googlegroups.com。
要取消订阅,请发送电子邮件至 xidian_linux...@googlegroups.com。
请通过 https://groups.google.com/group/xidian_linux?hl=zh-CN 访问此网上论坛。
通过 [ipv6 enabled] http://xdlinux.info/ 或 http://xdl.in/
[ipv4 only] http://linux.xidian.edu.cn/
[手机]:http://m.xdlinux.info/
访问西电开源社区。
---
您收到此邮件是因为您订阅了 Google 网上论坛的“西电开源社区邮件列表”论坛。
要退订此论坛并停止接收此论坛的电子邮件,请发送电子邮件到xidian_linux...@googlegroups.com。
要查看更多选项,请访问 https://groups.google.com/d/optout。
动态地址不代表这个IP不能是公网IP吧………我也是服你了,走回来路上我才想起来两台机器都没有NAT

--
您收到此邮件是因为您订阅了“西电开源社区”邮件列表。
要向此邮件列表发帖,请发送电子邮件至 xidian...@googlegroups.com。
要取消订阅,请发送电子邮件至 xidian_linux...@googlegroups.com。
请通过 https://groups.google.com/group/xidian_linux?hl=zh-CN 访问此网上论坛。
通过 [ipv6 enabled] http://xdlinux.info/ 或 http://xdl.in/
[ipv4 only] http://linux.xidian.edu.cn/
[手机]:http://m.xdlinux.info/
访问西电开源社区。
---
您收到此邮件是因为您订阅了 Google 网上论坛的“西电开源社区邮件列表”论坛。
要退订此论坛并停止接收此论坛的电子邮件,请发送电子邮件到xidian_linux...@googlegroups.com。
要查看更多选项,请访问 https://groups.google.com/d/optout。
*关于NAT,不知道B端的NAT设备你是否能够控制?如果你能控制这个NAT设备,那么你也可以直接使用gre tunnel:iptables -t nat -A PREROUTING -s $B-NAT-PUBLIC-IP -p 47 -j DNAT --to-destination $B-NAT-PRIVATE-IP这样之后,A端配置时remote直接用B NAT之后的公网IP即可。*最后,可能是你都知道的一些东西。建立隧道的命令,其实在linux下,建立ipip、sit、gre、isatap这几种隧道的命令都完全一样。(这四种都是走v4的隧道,还有走v6的隧道:ip6ip6、ipip6、ip6gre等,详见 `man ip tunnel`。)ip tunnel add $name mode $mode remote $remote-ip [local $local-ip] ttl 255# 这里面,$name可以是任何东西,不必要时tun0这种,如果系统里的tunnel比较多,建议取不同的名字,比如我家里有联通和宽带通两个出口,我通过联通出口连接科大某服务器的tunnel名字为 gre-lt-ustc,这样的名字比较容易管理。# local参数可以省略,这个参数有点类似于listen的功能,但是如果系统里有多个公网出口,那么还是写上好# ttl 这个参数,ipip可以不写,但是gre一定要写,后面的数字多少看自己的喜好。ip addr add $local-virtual-ip/32 dev $name# 这是给本地绑一个虚拟ip地址,由于是/32的,所以两边完全可以长的都不一样,比如一边是1.2.3.4,另一边是5.6.7.8,完全没有问题。不过其实除了诊断的作用外,完全不需要虚拟ip地址。ip link set $name up# 这句话其实等价于 ifconfig $name up,就是把这个网卡up起来ip route add default dev $name# 配置路由,这里不一定要default,按需配置。注意,这里配置路由时没有写 via $gw-ip,原因是,tunnel 跟eth不一样,通常eth都是连接在交换机上,从eth出去之后可能有许多直接相连的主机,因此必须指定网关的地址,以确定将包发给谁。而point-2-point的tunnel对端一定只有一个主机,所以就不需要via了,从这个口出去的包肯定给那个主机了。