1. Các thao tác cần đến X60 Pro
Đăng nhập qua SSH:
ssh root@192.168.110.1 -p 54133 #如果你在用前注入的账户,那么把root 改为 ruijie
Sau khi SSH đăng nhập vào X60 Pro
vim /etc/config/network #打开网络配置
Phím tắt Shift+g: Kéo xuống cuối để thêm cấu hình chuyển tiếp định tuyến tĩnh, nhấn i để chèn nội dung:
config route
option interface 'lan' #在lan端口上进行路由
option target '192.168.111.0' #这个是二级路由的网段
option netmask '255.255.255.0' #这个是确定二级路由网络的掩码
option gateway '192.168.110.2' #这个是二级路由WAN口在一级路由下分配到的IP(设置固定IP比较好)
Lưu tệp vim và thực hiện lệnh làm mới cấu hình mạng
service network reload
Kiểm tra lại xem tuyến tĩnh có được thêm thành công hay không, sau đó thay đổi cấu hình của tuyến phụ.
route
Nên có thêm một bảng định tuyến tĩnh như vậy. Không hiển thị trên giao diện người dùng X60 Pro
Đoạn mạng 192.168.111.0 được chuyển tiếp qua cổng WAN của tuyến phụ 192.168.110.2
2. Tường lửa trên OpenWRT cần cho phép đóng tuyến phụ.
Network - Tường lửa - Thiết lập inbound, outbound và chuyển tiếp WAN và Lan cho phép.
Cuối cùng, bạn có thể ping kiểm tra WIFI từ tuyến cấp một và truy cập trực tiếp vào thiết bị của tuyến cấp hai.
vim /etc/opkg/distfeeds.conf 打开OPKG源配置
文件尾部追加一下源
src/gz openwrt_base http://downloads.openwrt.org/snapshots/packages/aarch64_cortex-a53/base
src/gz openwrt_luci http://downloads.openwrt.org/snapshots/packages/aarch64_cortex-a53/luci
src/gz openwrt_packages http://downloads.openwrt.org/snapshots/packages/aarch64_cortex-a53/packages
src/gz openwrt_routing http://downloads.openwrt.org/snapshots/packages/aarch64_cortex-a53/routing
opkg update
opkg install adguardhome
Vào trang cài đặt 192.168.110.1:3000
Đối với địa chỉ quản lý, chọn 192.168.110.1. Đối với cổng, chọn 3000 hoặc 3001
DNS. Tôi đang sử dụng nó trên mạng nội bộ. Tôi chọn 192.168.110.1. Đối với cổng, chọn 7145.
Đối với tài khoản, nhập mật khẩu. cần phải có 8 chữ số, chỉ 12345678.
Cài đặt DNS: Dung lượng bộ đệm được khuyến nghị là 16777214. Bạn nên đặt TTL tối thiểu là 600 và TTL tối đa là 3600. Đảm bảo bật bộ nhớ đệm lạc quan
trên máy chủ DNS: tất cả đều sử dụng HTTPS để thực hiện yêu cầu.
Ghi đè cấu hình của đường dẫn này /etc/adguardhome.yaml
vim /etc/adguardhome.yaml
Chia sẻ cấu hình
bind_host: 0.0.0.0
bind_port: 3000
beta_bind_port: 0
users:
- name: root
password: $2y$10$dwn0hTYoECQMZETBErGlzOId2VANOVsPHsuH13TM/8KnysM5Dh/ve
auth_attempts: 5
block_auth_min: 15
http_proxy: ""
language: zh-cn
debug_pprof: false
web_session_ttl: 720
dns:
bind_hosts:
- 0.0.0.0
port: 1745
statistics_interval: 30
querylog_enabled: true
querylog_file_enabled: true
querylog_interval: 6h
querylog_size_memory: 1000
anonymize_client_ip: false
protection_enabled: true
blocking_mode: default
blocking_ipv4: ""
blocking_ipv6: ""
blocked_response_ttl: 60
parental_block_host: family-block.dns.adguard.com
safebrowsing_block_host: standard-block.dns.adguard.com
ratelimit: 0
ratelimit_whitelist: []
refuse_any: false
upstream_dns:
- https://223.5.5.5/dns-query
- https://223.6.6.6/dns-query
upstream_dns_file: ""
bootstrap_dns:
- 223.5.5.5
- 223.6.6.6
all_servers: true
fastest_addr: false
fastest_timeout: 1s
allowed_clients: []
disallowed_clients: []
blocked_hosts:
- version.bind
- id.server
- hostname.bind
trusted_proxies:
- 127.0.0.0/8
- ::1/128
cache_size: 16777214
cache_ttl_min: 600
cache_ttl_max: 3600
cache_optimistic: true
bogus_nxdomain: []
aaaa_disabled: true
enable_dnssec: true
edns_client_subnet: true
max_goroutines: 300
handle_ddr: true
ipset: []
ipset_file: ""
filtering_enabled: true
filters_update_interval: 24
parental_enabled: false
safesearch_enabled: false
safebrowsing_enabled: false
safebrowsing_cache_size: 1048576
safesearch_cache_size: 1048576
parental_cache_size: 1048576
cache_time: 30
rewrites: []
blocked_services: []
upstream_timeout: 10s
private_networks: []
use_private_ptr_resolvers: false
local_ptr_upstreams: []
serve_http3: false
use_http3_upstreams: false
tls:
enabled: false
server_name: ""
force_https: false
port_https: 443
port_dns_over_tls: 853
port_dns_over_quic: 784
port_dnscrypt: 0
dnscrypt_config_file: ""
allow_unencrypted_doh: false
certificate_chain: ""
private_key: ""
certificate_path: ""
private_key_path: ""
strict_sni_check: false
filters:
- enabled: false
url: https://adguardteam.github.io/AdGuardSDNSFilter/Filters/filter.txt
name: AdGuard DNS filter
id: 1628750870
- enabled: false
url: https://anti-ad.net/easylist.txt
name: 'CHN: anti-AD'
id: 1628750871
whitelist_filters: []
user_rules: []
dhcp:
enabled: false
interface_name: ""
local_domain_name: lan
dhcpv4:
gateway_ip: ""
subnet_mask: ""
range_start: ""
range_end: ""
lease_duration: 86400
icmp_timeout_msec: 1000
options: []
dhcpv6:
range_start: ""
lease_duration: 86400
ra_slaac_only: false
ra_allow_slaac: false
clients:
runtime_sources:
whois: true
arp: true
rdns: false
dhcp: true
hosts: true
persistent: []
log_file: ""
log_max_backups: 0
log_max_size: 100
log_max_age: 3
log_compress: false
log_localtime: false
verbose: false
os:
group: ""
user: ""
rlimit_nofile: 0
schema_version: 14
Sau khi lưu file trên, khởi động lại dịch vụ AdGuardHome
service adguardhome restart
1. Định cấu hình các truy vấn DNS định tuyến cấp đầu tiên để được chuyển tiếp đến máy chủ danh sách AdGuardHome '127.0.0.1#1745'. Cộng với việc chuyển tiếp tới DNS công cộng (được thêm trên giao diện người dùng Ruijie) máy chủ danh sách '223.5.5.5' máy chủ danh sách '223.6.6.6'
2. Vô hiệu hóa bộ đệm gốc của tùy chọn bộ định tuyến cấp một kích thước bộ đệm '0'
3. Thăm dò cài đặt định tuyến cấp một Cấu hình DNS và chọn kết quả DNS trả về nhanh nhất. tùy chọn allservers '1'
4. Bộ đệm của tuyến cấp đầu tiên tới máy khách được đặt thành một nửa tùy chọn mini_ttl '300' và tùy chọn max_ttl '1800' của AdGuardHome . Điều này nhằm cải thiện cơ chế và chúng tôi sẽ giúp bộ đệm của máy khách hết hạn dễ dàng hơn. AdGuardHome có thể được kích hoạt để trả lại bộ đệm cho máy khách trong ngày hết hạn khi AdGuardHome có bản ghi bộ đệm. Và để AdGuardHome tự cập nhật bộ đệm
终端打开配置文件vim /etc/config/dhcp
Tìm cấu hình trong config dnsmasq và thêm cấu hình sau
option mini_ttl '300' #配置客户端(PC或者手机)储存DNS最小的缓存时间为AdGuardHome的一半()
option max_ttl '1800' #配置客户端(PC或者手机)储存DNS最小的缓存时间为AdGuardHome的一半。尽量让后面的缓存命中AdGuardHome
option cachesize '0' #禁用dnsmasq的缓存。我们转发给AdGuardHome来使用缓存
option allservers '1' #让dnsmasq轮询所有配置的DNS服务器进行查询域名,返回最快的DNS记录将被使用(如果AdGuardHome有缓存就是它了)
list server '127.0.0.1#1745' #转发给AdGuardHome
option noresolv '1' #禁止解析拨号的上游DNS
Như trong hình bên dưới, 223.5.5.5 và 223.6.6.6 được tôi cấu hình trực tiếp trên Ruijie UI ( Advanced Management-Native DNS ). Sau cấu hình này, không thay đổi DNS từ Ruijie UI, nếu không DNS trỏ tới 127.0.0.1#1745 sẽ bị mất. Nếu bạn không thay đổi nó từ Ruijie UI, nó sẽ vẫn được giữ lại sau khi khởi động lại.
Ở đây chúng ta cần phân tích lý do tại sao DNS AdGuardHome được định cấu hình và 223.5.5.5 và 223.6.6.6 cũng được định cấu hình. Điều này là do đây là tuyến đường chính. Nếu AdGuardHome không thành công, bạn cũng có thể sử dụng dnsmasq của bộ định tuyến Ruijie để truy vấn DNS công cộng. Nếu AdGuardHome DNS được lưu vào bộ nhớ đệm (0,3ms, nếu không được lưu vào bộ nhớ đệm thì trung bình là 9ms) nên tốc độ truy vấn của DNS được lưu trong bộ nhớ đệm phải nhanh hơn DNS công cộng 223.5.5.5.
Ngoài ra, tốt nhất bạn nên xác nhận xem truy vấn DNS có hỗ trợ IPV4 hay IPV6 hay không. Tôi không có quyền truy cập IPV6 ở đây nên tôi đã tắt truy vấn IPV6.
Chúng ta làm mới cấu hình mạng
service dnsmasq reload
Bởi vì bản ghi DNS sẽ được lưu trữ trên máy khách. Chẳng hạn như điện thoại di động và máy tính.
Vì vậy chúng ta cần sử dụng terminal để kiểm tra xem cài đặt bộ đệm có bình thường hay không. Chúng tôi đã giữ lại dnsmasq của hệ thống và kết nối nó với AdGuardHome. Vì vậy bạn cần tắt bộ đệm của dnsmasq.
Phương pháp kiểm tra:
1. Đầu tiên hãy xóa bộ nhớ đệm trên máy tính.
2. Kích hoạt ping tên miền lần đầu tiên. Đi tới bản ghi nhật ký nền AdGuardHome để xem liệu yêu cầu DNS có được nhận ngay lập tức hay không. (Mong nhận được yêu cầu)
3. Kích hoạt tên miền ping lần thứ hai. Đi tới bản ghi nhật ký nền AdGuardHome để xem liệu yêu cầu DNS có được nhận ngay lập tức hay không. (Dự kiến sẽ không nhận được yêu cầu nào)
4. Xóa lại bộ nhớ đệm trên máy tính.
5. Kích hoạt tên miền ping lần thứ ba. Đi tới bản ghi nhật ký nền AdGuardHome để xem liệu yêu cầu DNS có được nhận ngay lập tức hay không. (Mong đợi một yêu cầu)
Cách xóa bộ nhớ đệm của máy tính:
windows:在终端执行ipconfig /flushdns
mac:在终端执行sudo killall -HUP mDNSResponder
Phương pháp kích hoạt bộ nhớ đệm: Chỉ cần ping tên miền trực tiếp từ thiết bị đầu cuối.
Nghĩa là, tất cả các cấu hình trong /etc/config/ trong bài viết này đều có thể được cấu hình thông qua các tập lệnh. Điều này sẽ khiến Ruijie Router X60 Pro mất cấu hình mà chúng ta mong muốn sau khi sửa đổi dữ liệu trong WebUI.
Có hai vấn đề với logic nhập thủ công ở trên:
1. Nhập thủ công rắc rối
2. Mỗi khi thay đổi cấu hình từ nền quản lý Ruijie Web, lớp dữ liệu của uci sẽ bị thay đổi, khiến cấu hình thủ công ở trên bị mất và không thể khôi phục sau khi khởi động lại.
Bởi vì chúng tôi không biết cơ chế kích hoạt sửa đổi cụ thể của Ruijie là gì nên tôi sử dụng một phương pháp đơn giản để mở rộng nó. Sau khi bộ định tuyến khởi động, hãy thêm tác vụ tự động để thực hiện các sửa đổi cấu hình của chúng tôi. Sau đó, khi bộ định tuyến khởi động lại, dữ liệu UCI sẽ được đọc.
Nói một cách đơn giản, nếu chúng ta sửa đổi phần quản lý Web của Ruijie X60Pro (chỉ HDCP hoặc các cấu hình liên quan đến mạng, các cấu hình khác không cần phải khởi động lại hai lần), chúng ta cần phải khởi động lại nó hai lần.
Lý do khởi động lại: Lần khởi động lại đầu tiên là để khôi phục cấu hình UCI mong muốn của chúng tôi và lần khởi động lại thứ hai là để ngăn việc sử dụng dữ liệu UCI . (Tại sao chúng tôi không tải lại dịch vụ dnsmasq và tải lại mạng dịch vụ sau lần khởi động lại đầu tiên? Vì tôi đã thử, một số trường hợp ngoại lệ sẽ xảy ra khi làm mới hoặc khởi động lại các dịch vụ này sau khi Ruijie X60Pro khởi động lại, chẳng hạn như DNS không hợp lệ)
Ví dụ: Quy trình OpenWRT giao tiếp dịch vụ sử dụng lệnh gọi ubus <service> <command> để liên lạc. Tôi không có nhiều thời gian để khám phá cách gọi logic bên trong. (Không phải là không làm được. Thứ nhất, tôi không phải dân chuyên nghiệp. Thứ hai, chúng ta cần chèn nhiều nhật ký để sắp xếp logic. Nếu không có môi trường gỡ lỗi tích cực thì hiệu quả không cao)
Bởi vì Ruijie X60Pro có logic hai lớp dữ liệu, một là cấu hình nhiều lớp của OpenWRT và một là lớp dữ liệu cấu hình giao diện người dùng của chính Ruijie.
Logic cập nhật thông thường của bộ định tuyến là:
Router WebUI->Lớp dữ liệu Ruijie->Lớp dữ liệu cấu hình luci (UCI) của OpenWRT.
Các chức năng không được Ruijie mở rộng có thể có hiệu lực bằng cách sửa đổi lớp UCI. (Tôi đã chạy nó với cấu hình tập lệnh được hai ngày và không có vấn đề gì)
Vị trí lưu trữ lớp dữ liệu của Ruijie: /etc/rg_config. /etc/rg_config/single/ là cấu hình của chức năng bộ định tuyến và /etc/rg_config/global là cấu hình logic của điện thoại di động + định tuyến.
1. Định cấu hình DNS từ nền quản lý bộ định tuyến Ruijie ( cấu hình DNS cục bộ này không thể được định cấu hình bằng cổng ). Để giữ logic của bộ định tuyến và logic UCI ổn định nhất có thể (để logic của Ruijie trở nên bình thường, vì vậy hãy điền vào 223.5.5.5 223.6.6.6), chúng tôi đã thay đổi máy chủ DNS cụ thể ở lớp UCI (thành AdGuardHome và DNS công cộng) .
Chúng tôi vừa thay đổi DNS thành 192.168.110.1:1745 223.5.5.5 trong tập lệnh
2. Tạo tệp tự khởi động custom_run_script.
vim /etc/init.d/custom_run_script
Nội dung của tập tin như sau:
#!/bin/sh /etc/rc.common
START=99
custom_run() {
uci set dhcp.@dnsmasq[0].quietdhcp='1' # 禁用dnsmasq的日志
uci set dhcp.@dnsmasq[0].cachesize='0' # 禁用缓存,直接转发给adh
uci set dhcp.@dnsmasq[0].allservers='1' # 启用轮询,发给adh也发给223.5.5.5
uci set dhcp.@dnsmasq[0].nonegcache='1' # 不缓存无用的回应, 比如:不存在的域名
uci set dhcp.@dnsmasq[0].max_ttl='3500' # dns缓存在客户端缓存的最大时间。
#我们把这个时间设置得比adh的小一些。因为DNS可能是来自公共的DNS响应的,
#下一次我们让客户端可以从adh拿未过期的缓存。
#不过adh有乐观缓存,但是我们还是让它比ADH小一些
uci set dhcp.@dnsmasq[0].mini_ttl='500' # dns缓存在客户端缓存的最小时间。
uci set dhcp.lan.start='3' # 锐捷路由器的DHCP地址配置起点,我们跳过192.168.110.2
uci set dhcp.lan.limit='252' # 个数为252
uci delete dhcp.@dnsmasq[0].server # 删除已有的 本机DNS配置
uci add_list dhcp.@dnsmasq[0].server='192.168.110.1#1745' #设置ADH的DNS转发
uci add_list dhcp.@dnsmasq[0].server='223.5.5.5' #设置一个备用公共DNS
uci set network.wan.peerdns=0 #禁用WAN口下发的DNS,这样可以不接受PPPoE的拨号下发的运营商DNS
# 下面是配置静态路由,让192.168.110.0可以访问192.168.111.0(记得让192.168.111.1的二级路由允许WAN入站和转发)
if [ `uci get nework.@route[0] | grep @route[0]` == "" ]; then
uci add network route
fi
uci set network.@route[0].interface=lan
uci set network.@route[0].target=192.168.111.0
uci set network.@route[0].netmask=255.255.255.0
uci set network.@route[0].gateway=192.168.110.2
uci commit #保存以上数据
}
start() {
custom_run
# 开机自动开启dev模式,允许ssh链接
source /usr/bin/develop_mode
develop_mode_set "{ \"developMode\": \"1\" }"
}
Sau khi lưu tệp, cấp quyền thực thi. Và thiết lập tự động khởi động
chmod +x /etc/init.d/custom_run_script
/etc/init.d/custom_run_script enable
查看是否成功添加启动脚本
ls /etc/rc.d | grep custom_run_script
需要终端输出S99custom_run_script 来确认
Cuối cùng, tôi đã khởi động lại hai lần liên tiếp (sau khi mạng tốt lần đầu tiên, tôi khởi động lại lần nữa)
Kiểm tra xem DNS quay số WAN đã được đặt thành 0.0.0.0 chưa
DNS của cổng WAN chưa được thiết lập.
Kiểm tra quyền truy cập từ tuyến chính đến tuyến phụ và kiểm tra xem DNS có được chuyển tiếp đến ADH hay không. Kiểm tra chức năng Internet.
Có hai tình huống khi sử dụng QOS tại nhà:
1. Đảm bảo rằng một số thiết bị có mức độ ưu tiên cao nhất hoặc ưu tiên chức năng trò chơi
2. Tất cả các thiết bị đều nhận được lưu lượng truy cập công bằng (thường được khuyến nghị và sẽ không có hiện tượng lag khi chơi game)
Chỉ cần kích hoạt tăng tốc kinh doanh trực tiếp trên bộ định tuyến Ruijie . Phương pháp cấu hình rất đơn giản. (Có vẻ như loại lưu lượng truy cập được phát hiện tự động để thay đổi chính sách một cách linh hoạt ). Chúng tôi có thể kiểm tra trạng thái tăng tốc kinh doanh trong /etc/rg_config/single/flowctrl_qos.json.
Tăng tốc trò chơi có nghĩa là mức độ ưu tiên của gói trò chơi luôn ở mức cao nhất, bất kể trò chơi có đang diễn ra hay không. (Tôi đã kiểm tra cấu hình của Ruijie và công tắc này buộc phải tăng gói trò chơi lên mức cao nhất , thay vì chỉ bật tăng tốc trò chơi khi phát hiện thấy lưu lượng trò chơi.)
Nếu bạn muốn thêm khả năng tăng tốc tên miền tùy chỉnh:
Bạn có thể kiểm tra cấu hình và sử dụng uci để phát hiện các cấu hình liên quan. Nếu bạn cần thêm tên miền tăng tốc trò chơi, hãy sửa đổi lớp dữ liệu từ tập lệnh khởi động và khởi động lại nó. Điều này cho phép mở rộng an toàn. Không thực hiện các cấu hình tùy chỉnh xung đột với các chức năng nhắc nhở của Ruijie UI vì điều này có thể gây mất ổn định.
uci show | grep ca_url_list
Định cấu hình tăng tốc WAN
Đầu tiên, đo tốc độ tải xuống tối đa thực tế và tốc độ tải lên của băng thông khi tắt cài đặt kiểm soát luồng. Sau đó mở cài đặt kiểm soát luồng và điền băng thông của cổng WAN. Như hiển thị bên dưới, cấu hình này sẽ được lưu trong /etc/rg_config/single/flowctrl.json
Việc đặt cấu hình tối đa cho mạng WAN sẽ tăng tốc độ tắt tính năng tăng tốc kinh doanh và tăng tốc phần cứng.
Sau đó cấu hình chính sách tùy chỉnh. Tôi đặt băng thông tải lên tối đa là 29M và băng thông tải xuống tối đa là 680M. Tải xuống nhỏ nhất là một nửa tải lên tối đa, 340M và tải lên nhỏ nhất là 10M. Như được hiển thị trong hình bên dưới, trong trường hợp có nhiều người dùng và lưu lượng truy cập lớn, lưu lượng truy cập trung bình liên tục gần bằng 1/2 và lưu lượng truy cập đạt hơn 680M khi sử dụng một người dùng. Lập kế hoạch thông minh đôi khi không nhạy lắm. Cấu hình tệp này được lưu trong /etc/rg_config/single/flowctrl_udp.json
Nếu bạn không cần tự động khởi động lại chế độ nhà phát triển, hãy xóa nó trong tập lệnh khởi động tùy chỉnh.
# 开机自动开启dev模式,允许ssh链接
source /usr/bin/develop_mode
develop_mode_set "{ \"developMode\": \"1\" }"
Nguồn: https://zhuanlan.zhihu.com