![在同一接口上路由传入和传出](https://linux22.com/image/74065/%E5%9C%A8%E5%90%8C%E4%B8%80%E6%8E%A5%E5%8F%A3%E4%B8%8A%E8%B7%AF%E7%94%B1%E4%BC%A0%E5%85%A5%E5%92%8C%E4%BC%A0%E5%87%BA.png)
我的路由器目前为网络中的所有PC和Ubuntu桌面(具有一些服务器功能)提供NAT。我想使用Ubuntu系统作为一个合适的防火墙,但它只有一个以太网接口。因此,我设想以下几点来让它运行:
Ubuntu/firewall router/WAN DHCP
IP 192.168.1.1 192.168.1.10 192.168.1.*
GW 192.168.1.10 WAN IP 192.168.1.1
- 如果我按照我的描述静态配置我的 Ubuntu 系统和路由器,我可以期望一切正常吗?
INPUT
使用单个物理接口来处理和可以吗FORWARD
?我需要做一些事情,比如创建虚拟接口吗?
答案1
为什么不使用两个独立的网络?只需一张卡即可轻松添加不同网络的两个 IP(eth0、eth0:1、eth0:2 等)。
ifconfig eth0 192.168.1.1/24
ifconfig eth0:0 192.168.10.1/24
这样,所有计算机都将位于网络内,而无需通过 Ubuntu 固件路由来访问互联网,Ubuntu 固件知道如何将通信从一个网络传输到另一个网络。
答案2
我已经完成了问题中描述的内容。这是允许我这样做的 Ubuntu 配置:
$ sudoedit /etc/network/interfaces
auto eth0
iface eth0 inet static
address 192.168.0.10
netmask 255.255.255.0
gateway 192.168.0.1
(实际上br0
在我的文件中,从桥接虚拟机到物理局域网,但我已将它们替换为更通用的eth0
)
$ sudoedit /etc/sysctl.conf
# Uncomment the next line to enable packet forwarding for IPv4
net.ipv4.ip_forward=1
基本上,sysctl.conf
我相信, 的数据包转发配置使我的设置能够正常工作。
traceroute
我通过之前看到的情况确认了设置确实有效,192.168.0.10
并且192.168.0.1
Ubuntu 上配置的防火墙规则实际上按预期过滤了流量。