如何根据域名路由?

我可以通过route命令路由IP范围。 但是有没有基于的路由解决scheme?

路由是一种三层技术,可以将数据包传送到应该去的地方。 三层信息几乎只有源IP,目的IP和分片信息。

额外的信息,如域名超越第三层,更多的是第七层(应用层)。 因此这样的信息并不意味着用于路由。

有一些使用第3层以上信息的特定技术,例如使用第4层信息(TCP / UDP端口)来路由特定数据包的策略路由。 就我所知,这个数字已经很高了。

如果您可以控制该域名,则可以指定特定IP,然后以特定方式由路由器进行路由。 如果你不能做到这一点,恐怕就我所知,这是不可能的。

您在DNS服务器上使用SRV reccord。

例如:

SUBDOMAIN TTL DATA(优先优先)

server1.domain.com:3600:10 10 1337 domain.com

这会将域server1.domain.com上的所有传入通信映射到domain.com上的端口1337

就这么简单。

没有基于域的路由解决scheme。 但是,您可以使用此解决方法脚本。 它获取您的域的IP,并添加一个路由。 您可以将其添加到任务计划程序,以在Windows启动时或以任何特定的时间间隔运行,并将继续添加路由。 它不使用-p选项,所以添加的路由不是永久的。

 :: Get IP of Domain name setlocal EnableDelayedExpansion set myServer=your.server.com for /f "tokens=1,2 delims=[]" %%a IN ('ping -n 1 !myServer!') DO ( if "%%b" NEQ "" set myServerIP=%%b ) echo ip is %myServerIP% route add %myServerIP% mask 255.255.255.255 <gateway ip> EXIT 

希望这可以帮助!

你可以使用Apache或任何其他的Web服务器。 虚拟域或反向代理就是这样做的。

您可以使用主机logging或DNS将域与IP地址相关联。 使用你现有的路线方法。