如何从我的 Linux 操作系统构建网关

如何从我的 Linux 操作系统构建网关

我想配置我的 Linux,以便将其用作网络路由器(网关)。有人可以给我一些提示吗? (欢迎提供链接!)

答案1

对于一个简单的路由器来说,实际上只需要完成两个步骤。

启用路由

第一步是在内核中启用路由。默认情况下,内核会丢弃它无法识别的数据包;一旦启用路由,它就会转发它们。您需要在计算机启动时发出以下两个命令之一:

sysctl -w net.ipv4.ip_forward=1
echo 1 >/proc/sys/net/ipv4/ip_forward

许多发行版都有一个名为 的文件,您可以在其中放置计算机启动时执行该命令的/etc/sysctl.conf行。net.ipv4.ip_forward=1如果有目录/etc/sysctl.d,您可以在该目录中添加文件而不用编辑/etc/sysctl.conf;调用该文件something.conf

对于 IPv6,相应的设置为net.ipv6.conf.all.forwarding/proc/sys/net/ipv6/conf/all/forwarding。您还可以将net.ipv4.conf.all.forwarding/proc/sys/net/ipv4/conf/all/forwarding用于 IPv4。

设置路由表

第二步是设置路由表。这可以很简单也可以很复杂,具体取决于您需要做多少事情。对于简单的使用,请配置每个网络接口的地址和网络掩码,并使用命令添加任何所需的额外路由route

超越简单的路由

如果需要重写数据包,基本命令是iptablesip6tables对于 IPv6)。 (“Netfilter”是内核数据包处理工具的名称,“iptables”是控制它的程序的名称。)这是查找过滤、NAT 等的地方。

对于复杂的设置,请查看ip命令ip路由2包裹。

答案2

首先插入您想要充当路由器的网络的 IP。获取多个网络接口卡或配置虚拟接口。
您需要启用数据包转发/etc/sysctl.conf,然后配置 NAT 的 iptables。这里有一个简短教程对于相同的。

相关内容