瀏覽代碼

add some context for the next guy

JackDoan 7 月之前
父節點
當前提交
3e3bd9cead
共有 1 個文件被更改,包括 4 次插入 和 0 次删除
  1. 4 0
      overlay/tun_linux.go

+ 4 - 0
overlay/tun_linux.go

@@ -560,6 +560,10 @@ func (t *tun) addRoutes(logErrors bool) error {
 	}
 	}
 
 
 	if t.snatAddr.IsValid() {
 	if t.snatAddr.IsValid() {
+		//at least for Linux, we need to set a return route for the SNATted traffic in order to satisfy the reverse-path filter,
+		//and to help the kernel deliver our reply traffic to the tun device.
+		//however, it is important that we do not actually /assign/ the SNAT address,
+		//since link-local addresses will not be routed between interfaces without significant trickery.
 		return t.setSnatRoute()
 		return t.setSnatRoute()
 	}
 	}
 	return nil
 	return nil