首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >配置iptables设置本地网络的默认网关

配置iptables设置本地网络的默认网关
EN

Server Fault用户
提问于 2021-01-08 01:52:18
回答 1查看 1.6K关注 0票数 0

我有一个带有ip 192.168.1.1的openwrt路由器。我要做的是在LAN中设置一个代理服务器(192.168.1.249),并从两个设备(192.168.1.244,192.168.1.131)拦截所有通信。我使用的方法是将代理服务器设置为默认网关,并在openwrt路由器上配置了以下内容。

代码语言:javascript
复制
iptables -t mangle -A PREROUTING -j MARK --set-mark 3 -p tcp -s 192.168.1.131
iptables -t mangle -A PREROUTING -j MARK --set-mark 3 -p tcp -s 192.168.1.244
# Set default gateway as the proxy server in table 2
ip route add default via 192.168.1.249 table 2
# Forward traffic with mark 3 to table 2
ip rule add fwmark 3 table 2

经过我的测试,对于这两个设备的所有WAN通信,代理服务器可以拦截并转发它们,这是很好的。但是,我发现这两个设备也相互通信,这些LAN通信似乎没有被转发到代理服务器。原因何在?如何将这些通信量转发到代理服务器?

测试:为了确定配置iptables是否有用,我添加了一条测试规则:

代码语言:javascript
复制
iptables -t mangle -A PREROUTING -j DROP -s 192.168.1.131

在我的opinoin中,如果此规则有效,则ip 244的设备将不会接收来自ip 131的设备的任何通信量,这证明iptables可以用于LAN通信。但是,我使用131设备将tcp流量发送到244设备,并且工作正常。我怀疑配置iptables不能帮助我将这些LAN流量转发到我的代理服务器。我说的对吗?

EN

回答 1

Server Fault用户

回答已采纳

发布于 2021-01-08 22:03:21

我假设您的IP子网是192.168.1.0/24,这意味着所有以192.168.1开头的IP地址都在同一个L2广播域中,即连接到同一个交换机。

在同一个IP子网中的设备通过第二层“连接”直接通信,没有第三层路由发生。

IPTables是一种在不同子网之间对路由数据包执行防火墙的机制。它看不到同一个子网主机彼此发送的任何通信量。

如果您想在两台主机之间安装防火墙,有几个选项:

  1. 将主机移动到不同的子网(例如192.168.1.0/24192.168.2.0/24),并在两个子网之间建立路由器路由。
  2. 安装两个不同的以太网段,并将路由器配置为段之间的桥梁。然后可以配置IPTables来过滤两个以太网段之间的数据包。
票数 1
EN
页面原文内容由Server Fault提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://serverfault.com/questions/1049022

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档