Raspbian 路由器/防火墙

Raspbian 路由器/防火墙

各位超级用户大家好,

这是我的局域网拓扑。WAN-调制解调器-路由器-防火墙-Pi 路由器-防火墙-局域网机器。

我使用局域网中的一台测试机器:bob。

我无法访问鲍勃的网站,我收到“目标主机不可达”的提示。

以下是我的路线:

bob 上的路线(匿名):

默认通过pi-路由器-iface-内局域网-eth0dev eth0 源鲍勃·伊普公制 202

内陆/24 dev eth0 proto dhcp 范围链接源鲍勃·伊普公制 202

lan-beyond-pi-router(调制解调器 + pi-iface-eth1)/24 通过pi-路由器-内局域网-iface-eth0开发 eth0

pi 路由器上的路由:

默认通过pi-路由器-内部-iface-eth0dev eth0 源pi-路由器-内部-iface-eth0公制 202

默认通过pi-路由器-外部-iface-eth1dev eth1 源pi-路由器-外部-iface-eth1公制 203

内陆/24 dev eth0 proto dhcp 范围链接源pi-路由器-内部-iface-eth0公制 202

局域网超越 PI 路由器/24 dev eth1 proto dhcp 范围链接源pi-路由器-外部-iface-eth1公制 203

我使用 ufw 进行过滤和 nat。这是我自己的想法,并不完全确定:由于我无法在调制解调器上配置通过路由,因此我在 Pi 路由器的“外部”(eth1)接口(调制解调器侧的接口)上启用了 NAT。这是我的 ufw 配置:

'#

'#规则.before

'#

'# 应该在 ufw 命令行添加规则之前运行的规则。自定义

'# 规则应添加到以下其中一个链中:

'# ufw-before-input

'# ufw-before-output

'# ufw-before-forward

'#

'# nat 表规则

*自然

:POSTROUTING 接受 - [0:0]

'# 将流量从 eth0 转发到 eth1

-A POSTROUTING -s 10.0.0.0/24 -o eth1 -j MASQUERADE

'#个人补充,不太确定

-A POSTROUTING -s 192.168.0.0/24 -o eth0 -j MASQUERADE

'# 不要删除 'COMMIT' 行,否则这些 nat 表规则将不会被处理

犯罪

'# 不要删除这些必需的行,否则会出现错误

*筛选

:ufw-输入前-[0:0]

:ufw-输出前-[0:0]

:ufw-之前-前进 - [0:0]

:ufw-非本地 - [0:0]

'# 结束所需行

'# 允许所有环回

-A ufw-before-input -i lo -j 接受

-A ufw-before-output-o lo -j 接受

'# 快速处理我们已经有连接的数据包

-A ufw-before-input -m conntrack --ctstate 相关,已建立 -j 接受

-A ufw-before-output -m conntrack --ctstate RELATED,ESTABLISHED -j 接受

-A ufw-before-forward -m conntrack --ctstate 相关,已建立 -j 接受

'# 丢弃无效的数据包(以中等或更高的日志级别记录这些数据包)

-A ufw-before-input -m conntrack --ctstate 无效 -j ufw-logging-deny

-A ufw-before-input -m conntrack --ctstate INVALID -j DROP

'# 输入的 icmp 代码为 ok

-A ufw-before-input -p icmp --icmp-type 目标不可达 -j 接受

-A ufw-before-input -p icmp --icmp-type 超出时间 -j 接受

-A ufw-before-input -p icmp --icmp-type 参数问题 -j 接受

-A ufw-before-input -p icmp --icmp-type echo-r​​equest -j 接受

'# ok FORWARD 的 icmp 代码 -A ufw-before-forward -p icmp --icmp-type destination-unreachable -j ACCEPT

-A ufw-before-forward -p icmp --icmp-type 超出时间 -j 接受

-A ufw-before-forward -p icmp --icmp-type 参数问题 -j 接受

-A ufw-before-forward -p icmp --icmp-type echo-r​​equest -j 接受

'# 允许 dhcp 客户端工作

-A ufw-before-input -p udp --sport 67 --dport 68 -j 接受

'#

'# ufw-非本地

'#

-A ufw 输入前 -j ufw 非本地

'# 如果是本地,则返回

-A ufw-not-local -m 地址类型 --dst 类型 LOCAL -j RETURN

'# 如果是多播,则返回

-A ufw-not-local -m 地址类型 --dst-type 多播 -j 返回

'# 如果广播,则返回

-A ufw-not-local -m 地址类型 --dst 类型广播 -j 返回

'# 所有其他非本地数据包均被丢弃

-A ufw-not-local -m 限制 --limit 3/分钟 --limit-burst 10 -j ufw-logging-deny

-A ufw-非本地-j DROP

'# 允许 MULTICAST mDNS 进行服务发现(确保上面的 MULTICAST 行

'# 取消注释)-A ufw-before-input -p udp -d 224.0.0.251 --dport 5353 -j ACCEPT

'# 允许 MULTICAST UPnP 进行服务发现(确保上面的 MULTICAST 行

'# 未注释)

-A ufw-before-input -p udp -d 239.255.255.250 --dport 1900 -j 接受

犯罪


现在,我可以从 bob ping 调制解调器,但无法正常访问互联网。虽然互联网 DNS 可以正常工作。

当我尝试连接到 WAN 服务器时,我收到:“目标主机无法访问”。我猜我的配置中存在问题,或者缺少某些东西。

也许我应该在调制解调器上配置一些东西,现在还不知道。但是,不,当我进行测试时,我将 Pi 路由器插在交换机上,两个 iface 都在同一交换机上,在某一时刻,我可以访问网络,一切正常。经过这些测试后,我将 Pi 插入其最终位置,即调制解调器旁边。现在,从机器 bob 到 WAN,路由经过交换机、两个 CPL、pi 路由器和调制解调器。

非常感谢您的见解:-)

/cr!?ptal

答案1

我在 pi-router 上添加了一条新路线,它可以正常工作!

sudo ip 添加路由默认通过调制解调器路由器 IP/24 开发 eth1。

和:

须藤苏

ufw 禁用 && ufw 启用

此外,为了使该自定义路由持久,我将其添加到 /etc/dhcpcd.exit-hook 。

任务成功:-)

相关内容