2与pfsense更换BT无限SmartHub

当我在一年前搬进了新家,我终于可以加入 21英石 世纪并责令其与SmartHub提供BT无限. 该SmartHub实际上是相当体面的套装考虑谈到免费, 但与大多数 ISP 它在某些方面锁定自备的设备, 例如,你不能用你自己的 DNS 这是我喜欢做的服务器. 在ADSL的初期 (大约 2001) 我代替路由器的跑了光面框, 和用于一个范围的原因 (包括互联网过滤由我控制, 而不是 ISP) 我决定回去到一个基于Linux的防火墙路由器.

小赛扬J1900盒我做的事情在硬件方面不希望安装光面, 所以我安装pfsense代替. 我也得到一个VDSL (纤维) 调制解调器与路由器连接到电话插座. 我得到了NETGEAR DM200这实际上是可以切换到“调制解调器只有”模式的完全路由器. 现在,让整个安排工作花了一段小提琴演奏, 所以我想我应该把所有资源集中在一个地方

1. 安装pfsense

我需要通过安装pfsense USB, 所以有效地闪存驱动器. 这是通过使用一个空白的笔式驱动器成为可能, 软件名为鲁弗斯, 和pfsense的“memstick”下载.

2. 配置NETGEAR DM200

要做到与DM200任何你将不得不同时在LAN电缆连接到它, 和电话插座给它. 你的电脑应该通过DHCP获得从NETGEAR的地址,但如果它不,您将需要手动设置你 知识产权 解决对192.168.5.x (X是什么 2 - 254). 然后,您可以通过Web界面的登录 192.168.5.1. 默认的登录用户名是 管理 密码为 密码. 选择“高级”选项卡, 然后在下方的“高级”菜单选项离开该页面. 根据该选择“设备模式”选项. 更改设备模式到“调制解调器 (只有调制解调器)”并单击Apply. 你可以看到更多的细节和截图 NETGEAR帮助页面

3. 登录并修改默认密码

您pfsense盒连接到局域网并使用Web接口,通过它的局域网连接到它 知识产权 地址 (它如果您的显示器连接到它会显示在它的默认开机画面). 您可能需要更改本地 知识产权 地址来实现这一. 登录的用户名的pfsense 管理 和密码 pfsense. 通过设置向导去给当有机会更改默认的Web用户界面密码. 有关步骤1-3的详细信息,我建议 指导tecmint

4. 配置pfsense盒获得一个基本的连接

我使用BT无限和获取正确的设置证明棘手不是我所希望的. 我必须首先配置 广域网 设置正确后, 设置了正确的配置文件 广域网 接口. 第一, 去 接口: 广域网 并设置如下.

IPv4配置类型PPPoE协议
IPv6配置类型Dkp6
使用IPv4连接作为父接口勾选
仅请求IPv6前缀勾选
的DHCPv6前缀代理规模56
用户名bthomehub@btbroadband.com
密码任何值将工作

保存更改, 然后去 接口: 分配. 设置 广域网 接口为“PPPoE ......”这应该保存在括号中的物理接口演出结束后 - 在我的情况下,它说:“PPPOE (EM0)”. 再次保存更改,希望您能获得连接.

4b. 广域网 MTU值

广域网 你可能需要调整您的MTU设置接口设置与BT无限优化工作,以避免数据包碎片和可能的数据包丢失。我已经写了 [int­link id=“4002” type=“post”]专用文章[/intlink] 在这个问题上.

5. IPv6测试

上面的设置应足以获得的IPv6在你的局域网客户合作 - 你也应该看到一个IPv6地址pfsense LAN接口 (即. 一个不启动FE80). 尝试从LAN客户端上的终端窗口中执行ping google.com - 如果你从IPv6地址的响应,那么一切都很好. 您还可以检查所有我正确使用 test-ipv6.com. 由于 Danneh 对于设置. 欲了解更多信息,我建议这个 reddit的线程.

还有就是让需要一个进一步的调整确保IPv6的全面工作, 你需要通过防火墙以允许ICMPv6报. 访问防火墙, 然后规则. 添加新规则, 设置地址族到IPv6, 改变协议ICMP, 离开“任何”选为亚型 (除非你想要做了很多关于特定亚型多看书). 点击保存, 然后点击“应用更改”.

6. 启用Intel增强的速度步

我不希望我的低功率运行的路由器全速所有的时间 - 但遗憾的是pfsense好好尝试一下似乎正确支持目前英特尔增强型速迈默认. 为了得到我的工作 (和更低的CPU温度去用它!) 我首先必须使中的powerd 系统 - > 高级 - > 其他 - > 启用的powerd. 如果你要启用的最低频率 (本书虽然这些并不节省多少电) 您还需要做到以下几点变化: 去 诊断, 编辑文件. 然后输入文件路径 /开机/的device.hints. 改变底部 2 从条目 1 to 0 (所谓 hint.acpi_throttle.0.残 and hint.p4tcc.0.残). 由于 SecondEdge and dreamslacker 对于这些提示. 要检查这是工作,你将需要登录到通过路由器 SSH, 选择选项 8 (外壳) 并运行 sysctl的dev.cpu. | grep的频率. 这花了我的CPU核心温度66℃,从57℃到 - 不坏装在旁边另一台PC一个微小的无风扇系统, 调制解调器, 和一个8端口交换机.

7. 转发端口

火墙: NAT 然后单击添加按钮. 输入 知识产权 地址和端口目的地 (最有可能的) 相同的端口用于外部端口. 有关详细信息,我建议 后通过splurben 在pfsense论坛.

8. NAT的反思

我用我的笔记本电脑无论是在家里的局域网上,并远离家乡和在两种情况下要访问的网络上的各种网络接口. 我使用DDNS得到一个域名,并希望以此来即使连接到LAN连接. 这需要NAT反射可在启用 系统: 高级: NAT反射模式的端口转发. 你可以 (大概) 还需要使 2 此页面上的其他选项: 启用NAT的思考 1:1 NAT and 为反射启用自动出站NAT

9. 广告拦截

我所有的PC化网页浏览器已经安装adblocked, 但同样不能说我的Android设备,因为这些都必须植根安装阻滞剂. 因此,能够与pfsense屏蔽广告是使用它的一大优点. 第一, 去 系统: 包管理器 然后搜索 pfblockerng 并安装它. 然后,您可以使用它配置 火墙: PFBlockerNG. 然后,我所使用的导 FredMerc 配置它. 我已经使用了设置的简要总结如下:. 去 火墙: PFBlockerNG 然后点击 DNSBL 标签, 然后点击 DNSBL EasyList标签. 打开顶部EasyList饲料并将其指向EasyList. 然后点击添加按钮, 并设置第二EasyList饲料EasyPrivacy并打开上太. 列表动作要“绑定”,我设置更新频率 1 天. 然后点击保存. 然后去 DNSBL 选项卡,并启用选项 启用DNSBL. 最后去了 一般 标签和 使pfBlockerNG.

9b. Adblock的修复

默认PFBlockerNG配置导致亚马逊Android应用问题. 为了避免这种情况, 等问题, 这是值得使用一些白名单. 去 火墙: PFBlockerNG 然后点击 DNSBL 标签, 向下滚动到 自定义域白名单 并输入以下 (谢谢 bchow在pfsense论坛)

.amazonaws.com
.amazon-adsystem.com
.amazon.com
.ssl.google-analytics.com
.ssl-google-analytics.l.google.com # 对于CNAME (ssl.google-analytics.com)
.www.google-analytics.com
.www-google-analytics.l.google.com # 对于CNAME (www.google-analytics.com)
.www.googleadservices.com
.plex.tv
.gravatar.com
.thetvdb.com
.themoviedb.com
.googleapis.com # 172.217.3.202 对于亚马逊应用程序的工作很重要
.1e100.net # CNAME? 备用名? 对于googleapis.com
.ad.doubleclick.net # 需要部族冲突?
.g.doubleclick.net # 需要部族冲突?
.q1mediahydraplatform.com # 需要hungryhouse Android应用?

您还可能要启用顶级网站的Alexa的白名单.

10. 透明鱿鱼代理

我决定建立尽可能多的,我们反复做打在不同设备上相同的网站浏览的透明鱿鱼代理, 我不希望它做了巨大的差异, 但我看不到任何理由不. 使用 系统: 包管理器 安装鱿鱼. 然后去 服务: Squid代理服务器 配置它. 这也需要squidGuard的,如果你想用它, 像我这样做.

11. Web过滤与squidGuard的儿童安全

我有小孩在屋子里,想阻止不合适的内容. 这可以用squidGuard的包装和莎乌拉的黑名单来实现. 安装squidGuard的距离 系统: 包管理器. 然后去 服务: squidGuard的代理过滤器. 前往 黑名单 标签, 输入地址 https://www.shallalist.de/Downloads/shallalist.tar.gz 并点击 下载. 然后使用常见的ACL选项卡, 点击加号按钮并选择您要阻止的类别. 这也是necesary建立一个虚拟的目标类别因错误. 欲了解更多信息,请参阅对这个职位 pfsense论坛. 不要忘记设置默认为所有的列表来 允许 在名单的最底部. 由于networkinggeek上 pfsense论坛 此提示. 最后 - 这可能是值得编辑一对夫妇的高级选项,以便阻止请求只缓存的一小段时间 - 如果你决定解除封锁一些网站,你不会必须清除浏览器缓存访问这些网站这样 - 有关于更多信息 pfsense论坛. 我必须将类别列入白名单[blk_BL_sex_lingerie] 所以,我的妻子可以买内衣作为过滤器阻塞主流零售商的各款内衣 (e.g. 德本汉姆).

12. 启用U型PNP的一系列服务 (赌博, 消息, 激流, 等等)

服务: 通用即插即用 & NAT-PMP, 勾选顶部 2 箱 (启用 通用即插即用 & NAT-PMP and 允许 通用即插即用 端口映射), 然后点击保存.

13. 恶意流量使用Snort堵

要阻止检测并阻止潜在的恶意流量,您可以安装Snort的包. 我建议运行而不阻塞了最初的几个星期,因为它会阻止很多的东西,你不希望因大量误报. 我建议使用以下禁止列表来避免一些最烦人的误报

#与 P2P BT下载 P2P 客户端用户代理 (uTorrent的)
抑制GEN_ID 1, sig_id 2011706
#与 P2P BitTorrent DHT公告_同行请求
禁止gen_id 1, sig_id 2008585
#(spp_ssl) 检测到服务器HELLO后,无效的客户端HELLO
禁止gen_id 137, sig_id 1
#与 P2P BitTorrent DHT ping请求
禁止gen_id 1, sig_id 2008581
#(http_inspect) 简单的要求
禁止gen_id 119, sig_id 32
#(http_inspect) 未知方法
禁止gen_id 119, sig_id 31
#(http_inspect) 内容长度或大小不正确
禁止gen_id 120, sig_id 8
#(http_inspect) NO内容长度或转入编码 HTTP 响应
禁止gen_id 120, sig_id 3
#(http_inspect) 双解码攻击
禁止gen_id 119, sig_id 2
#(http_inspect) HTTP 响应压缩压缩失败
禁止gen_id 120, sig_id 6
#(http_inspect) IIS UNICODE代码点编码
禁止gen_id 119, sig_id 7
#(http_inspect) 裸字节UNICODE编码
禁止gen_id 119, sig_id 4
#(http_inspect) JAVASCRIPT混淆水平EXCEEDS 1
抑制GEN_ID 120, sig_id 9
#(http_inspect) JAVASCRIPT的白板超出了允许的最大值
禁止gen_id 120, sig_id 10
#(http_inspect) 转义的生活空间的 HTTP URI
抑制GEN_ID 119, sig_id 33
#(http_inspect) U编码
禁止gen_id 119, sig_id 3
#(http_inspect) 双解码攻击
禁止gen_id 119, sig_id 2
#(http_inspect) JAVASCRIPT混淆数据中的多种编码
禁止gen_id 120, sig_id 11
#(http_inspect) HTTP 响应已归一化为UTF字符集
禁止gen_id 120, sig_id 4
#文件的映像的DirectShow GIF 逻辑宽度溢出尝试
禁止gen_id 1, sig_id 27525

14. 获取网络访问到调制解调器, 通过pfsense箱

我美国网件DM200调制解调器 (在通过模式) 只能通过固定的访问 知识产权 地址 (192.168.5.1). 我希望能够访问局域网中的计算机的网络界面. 里有一些说明 pfsense维基, 但这些并没有在第一次为我工作. 有一个有用的职位由用户胡说 pfsense论坛

14b. 显示在仪表盘pfsense调制解调器连接统计

经过一番摸索之后,我想出了一种方法,可以在仪表板上显示用于netgear调制解调器的调制解调器统计信息.
这是通过创建与PHP代码自定义窗口小部件做.
去诊断和编辑文件. 在路径创建一个新文件

/USR /本地/网络/部件/部件/ modemstatus.widget.php

与内容

< ?PHP $状态=的file_get_contents("https://用户名:password@192.168.5.1/RST_statistic.htm"); $状态= str_replace函数("是timereset = "5\";","是timereset = "0\";",$状态); 回声$状态 ?>

你将需要自定义的用户名和密码. 上面的代码适用于美国网件DM200, 而且很可能其他NETGEAR调制解调器和路由器. 对于硬件的其他品牌,你需要不同的地址进行了统计,你可能需要做响应使用PHP的额外操纵.
请注意,我有超过缠身默认NETGEAR刷新间隔 - 我已经把它关闭和重载打破了仪表盘显示. 要获取更新的数字,只需使用Web浏览器重新加载按钮刷新pfsense仪表板
现在去到仪表板,并添加小工具,你就大功告成了.

15. 在登录时修复证书警告

看到 本指南

16. 请求Firefox使用本地 DNS 通过HTTPS, 而不是绕过我们的过滤器 (新增2020年4月)

在服务中-> DNS 解决
在“自定义选项”字段中添加以下行…

服务器:当地的区: "use-application-dns.net。" always_nxdomain

17. 使用pfsense箱的域名被屏蔽的资源,而不是 知识产权 (新增2020年4月)

服务-> 乌贼­代理过滤器-> 通用ACL
将“重定向模式”更改为“扩展URL移动” (进入 网址)”
在“重定向信息”字段中,设置“ https://你的路由器名称/ sgerror.php?网址= 403%20&A =%一&N =%N&I =%I&S =%S&T =%吨&u =%u”

Leave a Reply

2 条评论

J乔恩

幻想指南,我应将其放在浮动规则中的何处?
还有就是让需要一个进一步的调整确保IPv6的全面工作, 你需要通过防火墙以允许ICMPv6报. 访问防火墙, 然后规则. 添加新规则, 设置地址族到IPv6, 改变协议ICMP, 离开“任何”选为亚型 (除非你想要做了很多关于特定亚型多看书). 点击保存, 然后点击“应用更改”.

请保持指南的来临!!

回复
JSJon Scaife

谢谢你的额外信息. 我确实启用了ICMPv6数据包,但是一定要忘记我写这篇文章时所拥有的. 我会更新. 我不确定您的第一个问题是指指南的哪一部分?

回复