【问题标题】:kernel system call inplace of "route" command to add host ip to routing table内核系统调用代替“路由”命令将主机 IP 添加到路由表
【发布时间】:2014-09-06 09:01:07
【问题描述】:

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

route add -host ftpaddress.com gw 10.64.64.64 dev ppp0

它工作正常,但我观察到有时命令在执行中花费了太多时间。我认为这是因为 ftp 服务器地址解析。我想使用内核系统调用做同样的操作。谁能给我方向或一些点击,我可以从中添加、删除或获取 ftp ip in/from 具有特定配置的路由条目。

或者如果有任何其他方法可以这样做,请告诉我。

【问题讨论】:

  • 如果有任何方法可以插入、删除和获取 FTP ip 地址以从内核系统调用路由条目,请告诉我。

标签: linux dns routes gateway


【解决方案1】:

如果是(反向)DNS解析有问题,可以通过选项-n(数字)来路由。那么 route 根本不会发出任何 DNS 查询。

route add -n -host host_address gw 10.64.64.64 dev ppp0

您也可以将主机名和 IP 放入盒子上的/etc/hosts。具有默认的/etc/nsswitch 配置,在发出任何 DNS 查询之前将考虑此文件:

/etc/hosts

10.64.64.64 vpn.gateway.local #or whatever hostname

【讨论】:

  • 所以我需要在 /etc/hosts 文件中写入主机的 ip 和主机地址,或者我需要在 /etc/hosts 文件中写入网关的 ip 和主机地址?我认为它是主机的 ip 对吗?
  • 是的,/etc/hosts 在您的计算机上,而不是在网关上
  • 我们正在对主机地址进行动态配置,因此我们无法在 /etc/hosts 文件中修复主机地址和主机 IP。我们需要在运行时找到 ip 并且需要从应用程序将其添加到这个 /etc/hosts 文件中,对吗?
  • 如果您可以控制基础架构,只需让反向 dns 正常工作
  • 您可以在交换机上嗅探或使用arpsoof 重定向PC 上的流量。如果您想解决问题,您似乎需要这样做
猜你喜欢
  • 2017-07-05
  • 2018-07-18
  • 1970-01-01
  • 1970-01-01
  • 2017-10-02
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多