我需要做什么才能将我的计算机设置为默认网关?

我需要做什么才能将我的计算机设置为默认网关?

我们正在尝试组装一个带有双 LAN 卡(假设为外部和内部)的盒子,其中内部 LAN 卡应该充当其所连接到的网络的默认网关。

这个盒子运行的是 Ubuntu。这个盒子的基本用途是接收内部网络生成的消息,对其进行处理,然后将其从外部 LAN 卡转发到服务器。内部网络完全隔离,只需一个普通交换机将内部 LAN 卡与另外两个盒子连接起来即可。

这些其他盒子要么发出多播消息(内部 LAN 卡正在监听),要么发送单播消息,该消息是发往不在该内部网络上的服务器的。因此,我们需要内部 LAN 卡充当默认网关,然后这些单播消息将被发送到该网关,然后双 LAN 卡盒上的代码可以拦截这些消息并将其转发到服务器。

问题:1. 我们如何将 LAN 卡设置为默认网关(在 Ubuntu 上是否需要进行一些配置)?2. 一旦完成此设置,是否只需侦听接口以拦截传入消息即可?

任何帮助(指向正确方向的指示)都将不胜感激。

谢谢。

答案1

你不需要对网卡做任何特殊的配置来使其成为默认网关。你只需要配置内局域网中的机器使用此网卡 IP 作为其默认网关。

要在两个子网之间路由数据包,您需要使用以下命令启用 IPv4 转发:

# echo 1 > /proc/sys/net/ipv4/ip_forward     (as root)

为了使其永久生效,请编辑该文件/etc/sysctl.conf并取消注释该行:

net.ipv4.ip_forward=1

对于数据包拦截,您可以用 C/C++ 编写程序。您可以使用 libpcap 获取到达内部 NIC 的流量并执行您需要的任何处理。我无法提供更多详细信息,因为我不知道您想要执行的处理类型。

相关内容