Linux 内核系统调用代替“调用”;路线;将主机ip添加到路由表的命令

Linux 内核系统调用代替“调用”;路线;将主机ip添加到路由表的命令,linux,dns,routes,gateway,Linux,Dns,Routes,Gateway,我需要从ppp0接口遍历ftp服务器主机的所有数据包,因此我使用下面的命令将ftp ip地址添加到具有特定网关的路由条目中 route add -host ftpaddress.com gw 10.64.64.64 dev ppp0 它工作正常,但我观察到有时命令在执行中花费了太多时间。我认为这是因为ftp服务器地址解析。我想使用内核系统调用执行相同的操作。有人能给我一些方向或点击,我可以添加、删除或从具有特定配置的路由条目中获取ftp ip吗 或者如果有其他方法,请告诉我。如果(反向)DNS

我需要从ppp0接口遍历ftp服务器主机的所有数据包,因此我使用下面的命令将ftp ip地址添加到具有特定网关的路由条目中

route add -host ftpaddress.com gw 10.64.64.64 dev ppp0
它工作正常,但我观察到有时命令在执行中花费了太多时间。我认为这是因为ftp服务器地址解析。我想使用内核系统调用执行相同的操作。有人能给我一些方向或点击,我可以添加、删除或从具有特定配置的路由条目中获取ftp ip吗

或者如果有其他方法,请告诉我。

如果(反向)DNS解析有问题,您可以将选项
-n
(数字)传递到路由。然后路由将根本不发出任何DNS查询

route add -n -host host_address gw 10.64.64.64 dev ppp0
此外,您还可以将主机名和IP放入方框中的
/etc/hosts
。使用默认的
/etc/nsswitch
确认,将在发出任何DNS查询之前考虑此文件:

/etc/主持人


所以我需要在/etc/hosts文件中写入主机ip和主机地址,或者我需要在/etc/hosts文件中写入网关ip和主机地址?我认为这是主机的ip,对吗?是的,
/etc/hosts
在您的计算机上,而不是在网关上。我们正在对主机地址进行动态配置,因此无法修复/etc/hosts文件中的主机地址和主机ip。我们需要在运行时查找ip,并需要将其从应用程序添加到此/etc/hosts文件中,对吗?如果您可以控制基础设施,只要使反向dns正常工作,您就可以在交换机上嗅探或使用
arpsoof
重定向PC上的流量。如果您想解决问题,您需要这样做。如果有任何方法可以插入、删除和获取FTP ip地址以从内核系统调用路由条目,请告诉我。
10.64.64.64 vpn.gateway.local #or whatever hostname