0x00 m3g刷原生Openwrt做WI-FI中繼
原WI-FI信號較弱捷雕,m3g路由做WI-FI中繼吝秕,放大原WI-FI信號绵咱。
使用5G接收瓢颅,2.4G發(fā)射恩尾。
0x01 配置圖片
接口配置
無線配置
0x02 配置參數(shù)
uci show
dhcp.@dnsmasq[0]=dnsmasq
dhcp.@dnsmasq[0].domainneeded='1'
dhcp.@dnsmasq[0].boguspriv='1'
dhcp.@dnsmasq[0].filterwin2k='0'
dhcp.@dnsmasq[0].localise_queries='1'
dhcp.@dnsmasq[0].rebind_protection='1'
dhcp.@dnsmasq[0].rebind_localhost='1'
dhcp.@dnsmasq[0].local='/lan/'
dhcp.@dnsmasq[0].domain='lan'
dhcp.@dnsmasq[0].expandhosts='1'
dhcp.@dnsmasq[0].nonegcache='0'
dhcp.@dnsmasq[0].authoritative='1'
dhcp.@dnsmasq[0].readethers='1'
dhcp.@dnsmasq[0].leasefile='/tmp/dhcp.leases'
dhcp.@dnsmasq[0].resolvfile='/tmp/resolv.conf.auto'
dhcp.@dnsmasq[0].nonwildcard='1'
dhcp.@dnsmasq[0].localservice='1'
dhcp.lan=dhcp
dhcp.lan.interface='lan'
dhcp.lan.start='100'
dhcp.lan.limit='150'
dhcp.lan.leasetime='12h'
dhcp.lan.dhcpv6='server'
dhcp.lan.ra='server'
dhcp.lan.ra_management='1'
dhcp.wan=dhcp
dhcp.wan.interface='wan'
dhcp.wan.ignore='1'
dhcp.odhcpd=odhcpd
dhcp.odhcpd.maindhcp='0'
dhcp.odhcpd.leasefile='/tmp/hosts/odhcpd'
dhcp.odhcpd.leasetrigger='/usr/sbin/odhcpd-update'
dhcp.odhcpd.loglevel='4'
dropbear.@dropbear[0]=dropbear
dropbear.@dropbear[0].PasswordAuth='on'
dropbear.@dropbear[0].Port='22'
dropbear.@dropbear[0].Interface='lan'
firewall.@defaults[0]=defaults
firewall.@defaults[0].syn_flood='1'
firewall.@defaults[0].input='ACCEPT'
firewall.@defaults[0].output='ACCEPT'
firewall.@defaults[0].forward='REJECT'
firewall.@zone[0]=zone
firewall.@zone[0].name='lan'
firewall.@zone[0].input='ACCEPT'
firewall.@zone[0].output='ACCEPT'
firewall.@zone[0].forward='ACCEPT'
firewall.@zone[0].network='lan'
firewall.@zone[1]=zone
firewall.@zone[1].name='wan'
firewall.@zone[1].input='REJECT'
firewall.@zone[1].output='ACCEPT'
firewall.@zone[1].forward='REJECT'
firewall.@zone[1].masq='1'
firewall.@zone[1].mtu_fix='1'
firewall.@zone[1].network='wan wan6 WIFINAME'
firewall.@forwarding[0]=forwarding
firewall.@forwarding[0].src='lan'
firewall.@forwarding[0].dest='wan'
firewall.@rule[0]=rule
firewall.@rule[0].name='Allow-DHCP-Renew'
firewall.@rule[0].src='wan'
firewall.@rule[0].proto='udp'
firewall.@rule[0].dest_port='68'
firewall.@rule[0].target='ACCEPT'
firewall.@rule[0].family='ipv4'
firewall.@rule[1]=rule
firewall.@rule[1].name='Allow-Ping'
firewall.@rule[1].src='wan'
firewall.@rule[1].proto='icmp'
firewall.@rule[1].icmp_type='echo-request'
firewall.@rule[1].family='ipv4'
firewall.@rule[1].target='ACCEPT'
firewall.@rule[2]=rule
firewall.@rule[2].name='Allow-IGMP'
firewall.@rule[2].src='wan'
firewall.@rule[2].proto='igmp'
firewall.@rule[2].family='ipv4'
firewall.@rule[2].target='ACCEPT'
firewall.@rule[3]=rule
firewall.@rule[3].name='Allow-DHCPv6'
firewall.@rule[3].src='wan'
firewall.@rule[3].proto='udp'
firewall.@rule[3].src_ip='fc00::/6'
firewall.@rule[3].dest_ip='fc00::/6'
firewall.@rule[3].dest_port='546'
firewall.@rule[3].family='ipv6'
firewall.@rule[3].target='ACCEPT'
firewall.@rule[4]=rule
firewall.@rule[4].name='Allow-MLD'
firewall.@rule[4].src='wan'
firewall.@rule[4].proto='icmp'
firewall.@rule[4].src_ip='fe80::/10'
firewall.@rule[4].icmp_type='130/0' '131/0' '132/0' '143/0'
firewall.@rule[4].family='ipv6'
firewall.@rule[4].target='ACCEPT'
firewall.@rule[5]=rule
firewall.@rule[5].name='Allow-ICMPv6-Input'
firewall.@rule[5].src='wan'
firewall.@rule[5].proto='icmp'
firewall.@rule[5].icmp_type='echo-request' 'echo-reply' 'destination-unreachable' 'packet-too-big' 'time-exceeded' 'bad-header' 'unknown-header-type' 'router-solicitation' 'neighbour-solicitation' 'router-advertisement' 'neighbour-advertisement'
firewall.@rule[5].limit='1000/sec'
firewall.@rule[5].family='ipv6'
firewall.@rule[5].target='ACCEPT'
firewall.@rule[6]=rule
firewall.@rule[6].name='Allow-ICMPv6-Forward'
firewall.@rule[6].src='wan'
firewall.@rule[6].dest='*'
firewall.@rule[6].proto='icmp'
firewall.@rule[6].icmp_type='echo-request' 'echo-reply' 'destination-unreachable' 'packet-too-big' 'time-exceeded' 'bad-header' 'unknown-header-type'
firewall.@rule[6].limit='1000/sec'
firewall.@rule[6].family='ipv6'
firewall.@rule[6].target='ACCEPT'
firewall.@rule[7]=rule
firewall.@rule[7].name='Allow-IPSec-ESP'
firewall.@rule[7].src='wan'
firewall.@rule[7].dest='lan'
firewall.@rule[7].proto='esp'
firewall.@rule[7].target='ACCEPT'
firewall.@rule[8]=rule
firewall.@rule[8].name='Allow-ISAKMP'
firewall.@rule[8].src='wan'
firewall.@rule[8].dest='lan'
firewall.@rule[8].dest_port='500'
firewall.@rule[8].proto='udp'
firewall.@rule[8].target='ACCEPT'
firewall.@include[0]=include
firewall.@include[0].path='/etc/firewall.user'
firewall.ss_rules=include
firewall.ss_rules.path='/etc/firewall.ss-rules'
firewall.ss_rules.reload='1'
luci.main=core
luci.main.mediaurlbase='/luci-static/bootstrap'
luci.main.resourcebase='/luci-static/resources'
luci.main.ubuspath='/ubus/'
luci.main.lang='zh_cn'
luci.flash_keep=extern
luci.flash_keep.uci='/etc/config/'
luci.flash_keep.dropbear='/etc/dropbear/'
luci.flash_keep.openvpn='/etc/openvpn/'
luci.flash_keep.passwd='/etc/passwd'
luci.flash_keep.opkg='/etc/opkg.conf'
luci.flash_keep.firewall='/etc/firewall.user'
luci.flash_keep.uploads='/lib/uci/upload/'
luci.languages=internal
luci.languages.zh_cn='中文 (Chinese)'
luci.sauth=internal
luci.sauth.sessionpath='/tmp/luci-sessions'
luci.sauth.sessiontime='3600'
luci.ccache=internal
luci.ccache.enable='1'
luci.themes=internal
luci.themes.Bootstrap='/luci-static/bootstrap'
luci.apply=internal
luci.apply.rollback='90'
luci.apply.holdoff='4'
luci.apply.timeout='5'
luci.apply.display='1.5'
luci.diag=internal
luci.diag.dns='openwrt.org'
luci.diag.ping='openwrt.org'
luci.diag.route='openwrt.org'
network.loopback=interface
network.loopback.ifname='lo'
network.loopback.proto='static'
network.loopback.ipaddr='127.0.0.1'
network.loopback.netmask='255.0.0.0'
network.globals=globals
network.globals.ula_prefix='fd7c:ec78:41bc::/48'
network.lan=interface
network.lan.type='bridge'
network.lan.ifname='eth0.1'
network.lan.proto='static'
network.lan.netmask='255.255.255.0'
network.lan.ip6assign='60'
network.lan.ipaddr='192.168.1.1'
network.lan_eth0_1_dev=device
network.lan_eth0_1_dev.name='eth0.1'
network.lan_eth0_1_dev.macaddr='aa:aa:aa:aa:aa:aa'
network.wan=interface
network.wan.ifname='eth0.2'
network.wan.proto='dhcp'
network.wan6=interface
network.wan6.ifname='eth0.2'
network.wan6.proto='dhcpv6'
network.@switch[0]=switch
network.@switch[0].name='switch0'
network.@switch[0].reset='1'
network.@switch[0].enable_vlan='1'
network.@switch_vlan[0]=switch_vlan
network.@switch_vlan[0].device='switch0'
network.@switch_vlan[0].vlan='1'
network.@switch_vlan[0].ports='2 3 6t'
network.@switch_vlan[1]=switch_vlan
network.@switch_vlan[1].device='switch0'
network.@switch_vlan[1].vlan='2'
network.@switch_vlan[1].ports='1 6t'
network.WIFINAME=interface
network.WIFINAME.proto='dhcp'
network.WIFINAME.hostname='M3G'
network.wlan0=interface
network.wlan0.ifname='eth0'
network.wlan0.proto='dhcp'
rpcd.@rpcd[0]=rpcd
rpcd.@rpcd[0].socket='/var/run/ubus.sock'
rpcd.@rpcd[0].timeout='30'
rpcd.@login[0]=login
rpcd.@login[0].username='root'
rpcd.@login[0].password='$p$root'
rpcd.@login[0].read='*'
rpcd.@login[0].write='*'
shadowsocks-libev.@ss_local[0]=ss_local
shadowsocks-libev.@ss_local[0].disabled='1'
shadowsocks-libev.@ss_local[0].server='sss0'
shadowsocks-libev.@ss_local[0].local_address='0.0.0.0'
shadowsocks-libev.@ss_local[0].local_port='1080'
shadowsocks-libev.@ss_local[0].timeout='30'
shadowsocks-libev.@ss_tunnel[0]=ss_tunnel
shadowsocks-libev.@ss_tunnel[0].disabled='1'
shadowsocks-libev.@ss_tunnel[0].server='sss0'
shadowsocks-libev.@ss_tunnel[0].local_address='0.0.0.0'
shadowsocks-libev.@ss_tunnel[0].local_port='1090'
shadowsocks-libev.@ss_tunnel[0].tunnel_address='example.com:80'
shadowsocks-libev.@ss_tunnel[0].mode='tcp_and_udp'
shadowsocks-libev.@ss_tunnel[0].timeout='60'
shadowsocks-libev.hi=ss_redir
shadowsocks-libev.hi.disabled='1'
shadowsocks-libev.hi.server='sss0'
shadowsocks-libev.hi.local_address='0.0.0.0'
shadowsocks-libev.hi.local_port='1100'
shadowsocks-libev.hi.mode='tcp_and_udp'
shadowsocks-libev.hi.timeout='60'
shadowsocks-libev.hi.fast_open='1'
shadowsocks-libev.hi.verbose='1'
shadowsocks-libev.hi.reuse_port='1'
shadowsocks-libev.hj=ss_redir
shadowsocks-libev.hj.disabled='1'
shadowsocks-libev.hj.server='sss0'
shadowsocks-libev.hj.local_address='0.0.0.0'
shadowsocks-libev.hj.local_port='1100'
shadowsocks-libev.hj.mode='tcp_and_udp'
shadowsocks-libev.hj.timeout='60'
shadowsocks-libev.hj.fast_open='1'
shadowsocks-libev.hj.verbose='1'
shadowsocks-libev.hj.reuse_port='1'
shadowsocks-libev.ss_rules=ss_rules
shadowsocks-libev.ss_rules.disabled='1'
shadowsocks-libev.ss_rules.redir_tcp='hi'
shadowsocks-libev.ss_rules.redir_udp='hi'
shadowsocks-libev.ss_rules.src_default='checkdst'
shadowsocks-libev.ss_rules.dst_default='bypass'
shadowsocks-libev.ss_rules.local_default='checkdst'
shadowsocks-libev.ss_rules.src_ips_forward='192.168.1.4'
shadowsocks-libev.ss_rules.dst_ips_forward='8.8.8.8'
shadowsocks-libev.sss0=server
shadowsocks-libev.sss0.disabled='1'
shadowsocks-libev.sss0.server='192.168.1.3'
shadowsocks-libev.sss0.server_port='9001'
shadowsocks-libev.sss0.password='********'
shadowsocks-libev.sss0.method='aes-256-cfb'
shadowsocks-libev.@ss_server[0]=ss_server
shadowsocks-libev.@ss_server[0].disabled='1'
shadowsocks-libev.@ss_server[0].server_port='9001'
shadowsocks-libev.@ss_server[0].password='********'
shadowsocks-libev.@ss_server[0].method='aes-256-cfb'
shadowsocks-libev.@ss_server[0].bind_address='192.168.7.72'
system.@system[0]=system
system.@system[0].hostname='OpenWrt'
system.@system[0].ttylogin='0'
system.@system[0].log_size='64'
system.@system[0].urandom_seed='0'
system.@system[0].zonename='Asia/Shanghai'
system.@system[0].cronloglevel='5'
system.@system[0].log_proto='udp'
system.@system[0].conloglevel='8'
system.@system[0].timezone='CST-8'
system.ntp=timeserver
system.ntp.server='0.openwrt.pool.ntp.org' '1.openwrt.pool.ntp.org' '2.openwrt.pool.ntp.org' '3.openwrt.pool.ntp.org'
system.led_wan_amber=led
system.led_wan_amber.name='WAN (amber)'
system.led_wan_amber.sysfs='mir3g:amber:wan'
system.led_wan_amber.trigger='switch0'
system.led_wan_amber.port_mask='0x02'
system.led_wan_amber.speed_mask='0x08'
system.led_lan1_amber=led
system.led_lan1_amber.name='LAN1 (amber)'
system.led_lan1_amber.sysfs='mir3g:amber:lan1'
system.led_lan1_amber.trigger='switch0'
system.led_lan1_amber.port_mask='0x08'
system.led_lan1_amber.speed_mask='0x08'
system.led_lan2_amber=led
system.led_lan2_amber.name='LAN2 (amber)'
system.led_lan2_amber.sysfs='mir3g:amber:lan2'
system.led_lan2_amber.trigger='switch0'
system.led_lan2_amber.port_mask='0x04'
system.led_lan2_amber.speed_mask='0x08'
ubootenv.@ubootenv[0]=ubootenv
ubootenv.@ubootenv[0].dev='/dev/mtd1'
ubootenv.@ubootenv[0].offset='0x0'
ubootenv.@ubootenv[0].envsize='0x1000'
ubootenv.@ubootenv[0].secsize='0x20000'
ucitrack.@network[0]=network
ucitrack.@network[0].init='network'
ucitrack.@network[0].affects='dhcp' 'radvd'
ucitrack.@wireless[0]=wireless
ucitrack.@wireless[0].affects='network'
ucitrack.@firewall[0]=firewall
ucitrack.@firewall[0].init='firewall'
ucitrack.@firewall[0].affects='luci-splash' 'qos' 'miniupnpd'
ucitrack.@olsr[0]=olsr
ucitrack.@olsr[0].init='olsrd'
ucitrack.@dhcp[0]=dhcp
ucitrack.@dhcp[0].init='dnsmasq'
ucitrack.@dhcp[0].affects='odhcpd'
ucitrack.@odhcpd[0]=odhcpd
ucitrack.@odhcpd[0].init='odhcpd'
ucitrack.@dropbear[0]=dropbear
ucitrack.@dropbear[0].init='dropbear'
ucitrack.@httpd[0]=httpd
ucitrack.@httpd[0].init='httpd'
ucitrack.@fstab[0]=fstab
ucitrack.@fstab[0].exec='/sbin/block mount'
ucitrack.@qos[0]=qos
ucitrack.@qos[0].init='qos'
ucitrack.@system[0]=system
ucitrack.@system[0].init='led'
ucitrack.@system[0].exec='/etc/init.d/log reload'
ucitrack.@system[0].affects='luci_statistics' 'dhcp'
ucitrack.@luci_splash[0]=luci_splash
ucitrack.@luci_splash[0].init='luci_splash'
ucitrack.@upnpd[0]=upnpd
ucitrack.@upnpd[0].init='miniupnpd'
ucitrack.@ntpclient[0]=ntpclient
ucitrack.@ntpclient[0].init='ntpclient'
ucitrack.@samba[0]=samba
ucitrack.@samba[0].init='samba'
ucitrack.@tinyproxy[0]=tinyproxy
ucitrack.@tinyproxy[0].init='tinyproxy'
ucitrack.@shadowsocks-libev[0]=shadowsocks-libev
ucitrack.@shadowsocks-libev[0].init='shadowsocks-libev'
uhttpd.main=uhttpd
uhttpd.main.listen_http='0.0.0.0:80' '[::]:80'
uhttpd.main.listen_https='0.0.0.0:443' '[::]:443'
uhttpd.main.redirect_https='1'
uhttpd.main.home='/www'
uhttpd.main.rfc1918_filter='1'
uhttpd.main.max_requests='3'
uhttpd.main.max_connections='100'
uhttpd.main.cert='/etc/uhttpd.crt'
uhttpd.main.key='/etc/uhttpd.key'
uhttpd.main.cgi_prefix='/cgi-bin'
uhttpd.main.lua_prefix='/cgi-bin/luci=/usr/lib/lua/luci/sgi/uhttpd.lua'
uhttpd.main.script_timeout='60'
uhttpd.main.network_timeout='30'
uhttpd.main.http_keepalive='20'
uhttpd.main.tcp_keepalive='1'
uhttpd.defaults=cert
uhttpd.defaults.days='730'
uhttpd.defaults.key_type='rsa'
uhttpd.defaults.bits='2048'
uhttpd.defaults.ec_curve='P-256'
uhttpd.defaults.country='ZZ'
uhttpd.defaults.state='Somewhere'
uhttpd.defaults.location='Unknown'
uhttpd.defaults.commonname='OpenWrt'
wireless.radio0=wifi-device
wireless.radio0.type='mac80211'
wireless.radio0.hwmode='11g'
wireless.radio0.path='pci0000:00/0000:00:00.0/0000:01:00.0'
wireless.radio0.htmode='HT40'
wireless.radio0.channel='9'
wireless.radio1=wifi-device
wireless.radio1.type='mac80211'
wireless.radio1.channel='36'
wireless.radio1.hwmode='11a'
wireless.radio1.path='pci0000:00/0000:00:01.0/0000:02:00.0'
wireless.radio1.htmode='VHT80'
wireless.wifinet3=wifi-iface
wireless.wifinet3.ssid='AP_NAME'
wireless.wifinet3.encryption='psk-mixed'
wireless.wifinet3.device='radio0'
wireless.wifinet3.mode='ap'
wireless.wifinet3.network='lan'
wireless.wifinet3.key='AP_PASSWORD'
wireless.wifinet1=wifi-iface
wireless.wifinet1.ssid='WIFINAME'
wireless.wifinet1.device='radio1'
wireless.wifinet1.mode='sta'
wireless.wifinet1.key='WIFI_PASSWORD'
wireless.wifinet1.network='WIFINAME'
wireless.wifinet1.encryption='psk2'
0xFF Reference
- https://blog.csdn.net/weixin_43873801/article/details/86303781
- https://breed.hackpascal.net/
- https://segmentfault.com/a/1190000021838379
- https://blog.csdn.net/lvshaorong/article/details/53230545
- https://www.right.com.cn/forum/forum.php?mod=viewthread&tid=981406&extra=page%3D1%26filter%3Dtypeid%26typeid%3D21