简单的linux路由器有两个网卡


1

我试着遵循这些指南但没有成功:

我有一个带有两个NIC的小型Linux机箱:

电缆调制解调器/路由器(不受控制)----> LINUX BOX带两个网卡:

  • eth2 =>连接到Internet,从上游的电缆调制解调器自动获取192.168.1.124地址
  • eth3 =>我想插入这个插孔并自动上网(在笔记本电脑或AP上) - 假设这里需要DHCP服务器?

我放弃了我的设置,从头开始。谁能指出我正确的方向?

nano -w /etc/dhcp/dhcpd.conf

EMPTY

nano -w / etc / network / interfaces

auto lo
iface lo inet loopback

auto eth2
iface eth2 inet dhcp

nano -w / etc / default / isc-dhcp-server

INTERFACES=""

这是我的ip路线:

default via 192.168.1.1 dev eth2  metric 100
169.254.0.0/16 dev eth2  scope link  metric 1000
192.168.1.0/24 dev eth2  proto kernel  scope link  src 192.168.1.124


2
假设您确实要分离网络,为什么不直接使用现有的防火墙发行版,如IPCop或pfSense?它更容易,更安全,因为它更容易设置。
托马斯

Answers:


2

您需要使用静态地址配置内部接口(eth3),以便/ etc / network / interfaces看起来像:

auto lo
iface lo inet loopback

auto eth2
iface eth2 inet dhcp

auto eth3
iface eth3 inet static
address 10.10.10.1
network 10.10.10.0
netmask 255.255.255.0
broadcast 10.10.10.255

您可能希望为内部接口启用DHCP服务器,除非您要手动配置网络上的客户端。

/ etc / default / isc-dhcp-server

INTERFACES="eth3"

你的dhcpd.conf看起来像:

default-lease-time 600;
max-lease-time 7200;
option subnet-mask 255.255.255.0;
option broadcast-address 10.10.10.255;
option routers 10.10.10.1;
option domain-name-servers x.x.x.x, y.y.y.y;

subnet 10.10.10.0 netmask 255.255.255.0 {
range 10.10.10.10 10.10.10.100;
} 

用您的ISP的DNS服务器替换xxxxyyyy

重启DHCPD:

sudo service isc-dhcp-server restart

此时,客户端应该配备内部网络范围内的IP,并且应该能够ping网关(eth3)并获得回复:

ping 10.10.10.1

接下来尝试ping eth2:

ping 192.168.1.124

Ping电缆调制解调器内部的接口:

ping 192.168.1.1

如果这一切都成功,您可以开始专注于获取IP转发和伪装工作。


谢谢你这个超级详细的回复。我完全遵循了你的设置,我回到了我惯常的障碍:插入eth3的客户端(笔记本电脑)获得了10.10.10.10地址,看起来很棒。从那台笔记本电脑我可以ping 10.10.10.1(eth3网关),192.168.1.124(eth2),但我不能ping 192.168.1.1。这是我的ip route现在:默认通过192.168.1.1 dev eth2 metric 100 10.10.10.0/24 dev eth3 proto kernel scope link src 10.10.10.1 169.254.0.0/16 dev eth3 scope link metric 1000 192.168.1.0/24 dev eth2 proto内核范围链接src 192.168.1.124

同样在实际的Linux机器上,我不能从eth3 ping eth2(ping -I eth3 192.168.1.124不起作用)。

有趣的是,我按照Shorewall路由的说明,并以某种方式工作@ help.ubuntu.com/community/ShorewallBasics。令人沮丧的是 - 我希望我知道这个帖子中的说明是怎么回事。我还是很欣赏任何想法!

1

所以你不想在Linux机器上分离网络?如果是这种情况,则不需要路由。您将桥接两个NIC并继续使用它。您也不需要DHCP服务器,因为您的电缆调制解调器充当一个(eth2获取IP)。你需要bridge-utils创建一座桥梁。 Ubuntu文档


@ black-sensei目前,我正在尝试在Linux上运行基本的路由器功能 - 我希望稍后将其转换为代理服务器/强制网络门户。但是,如果我甚至无法使基本的东西工作,那就太高级了!

1

如果您不介意,您可能想要使用已经构建的类似clearOS或pfsense或zentyal,尽管clearOS和zentyal比路由和社区许可更多一些。如果您的时间紧迫并且目标要满足,我认为这会让您前进。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.