我正在阅读这篇关于设置GRE隧道:https://packetpushers.net/anatomy-of-gre-tunnels/的文章
有关于在路由器A上创建GRE隧道接口的部分
R1:
interface Tunnel100
tunnel mode gre
ip address 102.1.1.1 255.255.255.0
ipv6 enable
tunnel source Loopback0
tunnel destination 2.2.2.2我没有思科路由器,但我尝试创建一个类似的GRE隧道上的Debian机器。在典型的ip_gre隧道设置中,隧道源/隧道目标映射到什么。
ip tunnel add Tunnel100 mode gre remote 2.2.2.2 local [?] ttl 64
ip addr add 102.1.1.1/24 dev Tunnel100
ip link set gre0 up我的上述ip_gre设置是否正确配置?
一旦gre隧道开通,我应该能够从102.1.1.1/24 ip地址范围到2.2.2.2网络后面的主机吗?
发布于 2021-10-07 09:30:08
IP隧道大多是点对点,所以它们无法发送或接收广播流量(存在更复杂的技术,但让它们暂时排除在范围之外)。
因此,不,您的设置是不正确的:您也需要为隧道配置远程地址。是的,这个掩码可以是你能想象到的任何东西,但实际上它仍然是/32 --所有其他的掩码只会混淆你的路由堆栈,而且大多数情况下,只有当这个掩码不干扰这个接口上的事实上的/32时,它才能工作。对于Cisco来说,由于遗留问题,使用/30或/31掩码是很常见的。
后者意味着您必须为一个接口分配单独的网络前缀,否则您将无法到达隧道遥控器后面的网络。
那2.2.2.2这个问题呢?它的形式让我觉得你混淆了隧道的内部和外部地址。外部网络只是为了确保数据包在网络上被路由,否则就会被丢弃。例如,带有ip dst 192.168.0.1的数据包无法通过广域网,这就是为什么为了通过广域网连接网络192.168.0.0/24和192.168.1.0/24,可以创建隧道,外部IP地址来自公共空间。ip tunnel add通常包含外部(公共)地址,ip addr add包含内部地址。当然,如果这两对是私有的,这将是有效的,但这种设置是不直观的。
https://serverfault.com/questions/1079808
复制相似问题