文章目录

  • Web 界面
    • 汉化
    • root 密码
    • ssh
    • 升级 LuCI
    • 美化
  • 锐捷认证
    • MentoHUST
    • MiniEAP
  • 防火墙
    • 开放端口
    • 端口转发
  • IPv6
  • USB
    • 安装 USB 驱动
    • 自动挂载
    • Extroot
  • FTP
  • SMB
  • BT 下载
  • 参考资料

Web 界面

一般 OpenWrt 安装好之后会已经默启用了 Web 管理界面(LuCI),默认地址是 192.168.1.1,默认账号是 root,无密码,直接点击登录即可进入

汉化

默认界面是英文的,可以在 系统-软件 中搜索中文包安装进行汉化

  • 点击 UPDATE LIST... 耐心等待软件包的更新
  • 然后在 Filter: 下的输入框中输入 luci-i18n-base-zh-cn,在筛选出来的结果中点击 INSTALL...,安装勾上 Overwrite files from other package(s),然后点击 INSTALL,耐心等待安装完成之后刷新网页(Ctrl+F5)可以看见大部分界面已经汉化了
  • 同理安装 luci-i18n-opkg-zh-cn 包用于 系统-软件 界面的汉化
  • 同理安装 luci-i18n-firewall-zh-cn 包用于 网络-防火墙 界面的汉化

root 密码

进入管理界面后进入 系统-管理-密码 界面修改路由器密码,同时也是系统的 root 账号的密码

ssh

然后在 系统-管理-ssh 可以配置 ssh 登录,参考配置如下

  • 接口:不指定 → 内网以及外网都可以 ssh 登录
  • 端口:22 → ssh 默认端口,不做修改
  • 密码验证:不勾选 → 推荐使用 ssh 登录
  • 允许 root 用户凭密码登录:不勾选 → 推荐使用 ssh 登录
  • 网关端口:根据需要勾选

按照上面配置完成后将只能通过 ssh 密钥进行登录,所以还得在 系统-管理-ssh密钥 添加设备的公钥

升级 LuCI

ssh 登入路由器后执行以下命令:

# 更新软件源
opkg update
# luci-compat 包有时可以帮助解决一些兼容性问题,推荐一同安装
opkg install luci luci-base luci-compat

美化

原始的 bootstrap 主题个人不太喜欢,在空间足够的情况下我个人额外安装了 material,主题的切换在 系统-系统-语言和界面 中

opkg update
opkg install luci-theme-material

锐捷认证

很多学校校园网通常采用锐捷认证,并且限制了用户账号的登陆数量,但是我们可以通过在路由器上进行锐捷认证来接入校园网,之后连接路由器的所有设备都会直接接入校园网而不需要认证了

MentoHUST

MentoHUST 是华中科技大学的 HustMoon 最初在校内 BBS 白云黄鹤上发布的一款可以在 Linux 系统上进行锐捷认证的软件。不过原始项目已经归档,不在开发,GitHub 上有加入 v4 支持的新项目

而在 OpenWrt 可以通过 Github 上的两个项目手动编译 .ipk 文件,然后 opkg install xxx.ipk 进行安装即可

  • 通过 MentoHUST-OpenWrt-ipk OpenWrt 项目可以生成 mentohust 的二进制文件
  • 通过 OpenWrt/LEDE LuCI for MentoHUST 项目可以生成 MentoHUST 的 LuCI 控制界面

手动编译 ipk 文件的过程可以参考这里

MiniEAP

MiniEAP 是一个实现了标准 EAP-MD5-Challenge 算法的 EAP 客户端,支持通过插件来修改标准数据包以通过特殊服务端的认证。同时含有支持锐捷 v3 (v4) 算法的插件,可以用来进行锐捷认证

而在 OpenWrt 可以通过 Github 上的两个项目手动编译 .ipk 文件,然后 opkg install xxx.ipk 进行安装即可

  • 通过 minieap-openwrt 项目可以生成 minieap 的二进制文件
  • (可选) 通过 OpenWrt/LEDE LuCI for minieap 项目可以生成 MiniEAP 的 LuCI 控制界面

补充:如果想要掉线自动重新认证,在配置文件中不要配置 no-auto-reauth,参考该 minieap@issue#43

防火墙

防火墙规则的详细配置可以参考 官方的介绍 以及部分 例子

开放端口

以开放 80 端口,用于外网直接访问 Web 界面为例:

  1. 首先要在 网络-防火墙-通信规则 点击新增,进行如下配置

    • 名称:可以随意设置
    • 协议:根据需要进行选择即可
    • 源区域:选择 WAN 表示是从外网进行访问
    • 源地址以及源端口:主要用于限制来访的设备,可以根据需要进行配置
    • 目标区域:选择 设备 代表这是一个入站的规则
    • 目标地址:因为是访问设备,此时不需要配置
    • 目标端口:Web 的默认端口是 80
    • 操作:开放端口,当然是选择接受
  2. 然后在 状态-防火墙 根据需要对 IPv4、IPv6 防火墙进行重启即可

如果这时外网还是不能访问 LuCI 的 Web 界面,可以尝试路由器重启,确认路由器的 IP 是否能够 ping 通,以及确认 80 端口有没有被运营商封禁

端口转发

以将 Windows 的远程连接的端口 3389 为例:

  1. 首先要在 网络-防火墙-端口转发 点击新增,进行如下配置

    • 名称:可以随意设置
    • 协议:根据需要进行选择即可
    • 源区域:选择 WAN 表示是从外网进行访问
    • 外部端口:这里配置成 13389
    • 目标区域:选择 LAN
    • 内部 IP 地址:配置成内网需要远程连接的主机
    • 内部端口:远程连接的默认端口是 3389
  2. 然后在 状态-防火墙 根据需要对 IPv4、IPv6 防火墙进行重启即可

后续就可以通过访问路由器 WAN_IP:13389 来远程连接内网的 Windows 主机了

IPv6

在校园网环境下发现 WAN 口默认能自动获取到 IPv6 地址(但是 /128 的地址),并且在路由器上测试也能正常访问 IPv6 网站,但是局域网内的设备不能正常访问 IPv6 网站,于是选择 NAT6 的方式来解决

参考 官网的 NAT6 文档,需要在路由器内依次进行如下配置:

  1. 安装 kmod-ipt-nat6 包

    # Install packages
    opkg update
    opkg install kmod-ipt-nat6
    
  2. 配置 IPv6 ULA 前缀,使得内网设备默认使用 IPv6

    # Using IPv6 by default
    NET_ULA="$(uci get network.globals.ula_prefix)"
    uci set network.globals.ula_prefix="d${NET_ULA:1}"
    # 默认 network.lan.ip6assign 配置可能有误,需要根据 ula_prefix 重新配置
    IP6_ASSIGN="$(echo ${NET_ULA} | grep -E '(\d+)$' -o)"
    uci set network.lan.ip6assign="${IP6_ASSIGN}"
    uci commit network
    /etc/init.d/network restart
    
  3. 配置默认 IPv6 路由

    # Announcing default IPv6 route
    uci set dhcp.lan.ra_default="1"
    uci commit dhcp
    /etc/init.d/odhcpd restart
    
  4. 配置防火墙

    # Configure firewall
    uci set $(uci show firewall | sed -n -e "/\.name='wan'$/s//.masq6='1'/p" | sed -n -e "1p")
    uci set $(uci show firewall | sed -n -e "/\.name='Allow-ICMPv6-Forward'$/s//.enabled='0'/p" | sed -n -e "1p")
    uci commit firewall
    
    # Configure firewall
    cat << "EOF" > /etc/firewall.nat6
    # NAT6 + masquerading firewall script
    # https://github.com/akatrevorjay/openwrt-masq6
    # trevorj <github@trevor.joynson.io>
    #
    # You can configure in /etc/config/firewall per zone:
    # * IPv4 masquerading
    #     option masq 1
    # * IPv6 masquerading
    #     option masq6 1
    # * IPv6 privacy extensions
    #     option masq6_privacy 1set -e -o pipefail. /lib/functions.sh
    . /lib/functions/network.sh
    . /usr/share/libubox/jshn.shlog() {logger -t nat6 -s "${@}"
    }get_ula_prefix() {uci get network.globals.ula_prefix
    }validate_ula_prefix() {local ula_prefix="${1}"if [ $(echo "${ula_prefix}" | grep -c -E -e "^([0-9a-fA-F]{4}):([0-9a-fA-F]{0,4}):") -ne 1 ] ; thenlog "Fatal error: IPv6 ULA ula_prefix=\"${ula_prefix}\" seems invalid. Please verify that a ula_prefix is set and valid."return 1fi
    }ip6t() {ip6tables "${@}"
    }ip6t_add() {if ! ip6t -C "${@}" &> /dev/null; thenip6t -I "${@}"fi
    }nat6_init() {iptables-save -t nat \| sed -e "/\sMASQUERADE$/d/\s[DS]NAT\s/d/\s--match-set\s\S*/s//\06//,BROADCAST\s/s// /" \| ip6tables-restore -T nat
    }masq6_network() {# ${config} contains the ID of the current sectionlocal network_name="${1}"local devicenetwork_get_device device "${network_name}" || return 0local done_net_devfor done_net_dev in ${DONE_NETWORK_DEVICES}; doif [ "${done_net_dev}" = "${device}" ]; thenlog "Already configured device=\"${device}\", so leaving as is."return 0fidonelog "Found device=\"${device}\" for network_name=\"${network_name}\"."if [ "${zone_masq6_privacy}" -eq 1 ]; thenlog "Enabling IPv6 temporary addresses for device=\"${device}\"."log "Accepting router advertisements on ${device} even if forwarding is enabled (required for temporary addresses)"echo 2 > "/proc/sys/net/ipv6/conf/${device}/accept_ra" \|| log "Error: Failed to change router advertisements accept policy on ${device} (required for temporary addresses)"log "Using temporary addresses for outgoing connections on interface ${device}"echo 2 > "/proc/sys/net/ipv6/conf/${device}/use_tempaddr" \|| log "Error: Failed to enable temporary addresses for outgoing connections on interface ${device}"fiappend DONE_NETWORK_DEVICES "${device}"
    }handle_zone() {# ${config} contains the ID of the current sectionlocal config="${1}"local zone_nameconfig_get zone_name "${config}" name# Enable masquerading via NAT6local zone_masq6config_get_bool zone_masq6 "${config}" masq6 0log "Firewall config=\"${config}\" zone=\"${zone_name}\" zone_masq6=\"${zone_masq6}\"."if [ "${zone_masq6}" -eq 0 ]; thenreturn 0fi# IPv6 privacy extensions: Use temporary addrs for outgoing connections?local zone_masq6_privacyconfig_get_bool zone_masq6_privacy "${config}" masq6_privacy 1log "Found firewall zone_name=\"${zone_name}\" with zone_masq6=\"${zone_masq6}\" zone_masq6_privacy=\"${zone_masq6_privacy}\"."log "Setting up masquerading nat6 for zone_name=\"${zone_name}\" with zone_masq6_privacy=\"${zone_masq6_privacy}\""local ula_prefix="$(get_ula_prefix)"validate_ula_prefix "${ula_prefix}" || return 1local postrouting_chain="zone_${zone_name}_postrouting"log "Ensuring ip6tables chain=\"${postrouting_chain}\" contains our MASQUERADE."ip6t_add "${postrouting_chain}" -t nat \-m comment --comment "!fw3" -j MASQUERADElocal input_chain="zone_${zone_name}_input"log "Ensuring ip6tables chain=\"${input_chain}\" contains our permissive DNAT rule."ip6t_add "${input_chain}" -t filter -m conntrack --ctstate DNAT \-m comment --comment "!fw3: Accept port forwards" -j ACCEPTlocal forward_chain="zone_${zone_name}_forward"log "Ensuring ip6tables chain=\"${forward_chain}\" contains our permissive DNAT rule."ip6t_add "${forward_chain}" -t filter -m conntrack --ctstate DNAT \-m comment --comment "!fw3: Accept port forwards" -j ACCEPTlocal DONE_NETWORK_DEVICES=""config_list_foreach "${config}" network masq6_networklog "Done setting up nat6 for zone=\"${zone_name}\" on devices: ${DONE_NETWORK_DEVICES}"
    }main() {nat6_initconfig_load firewallconfig_foreach handle_zone zone
    }main "${@}"
    EOF
    cat << "EOF" >> /etc/sysupgrade.conf
    /etc/firewall.nat6
    EOF
    

    经过此步骤后会生成一个 /etc/firewall.nat6 脚本,并且加入了 /etc/sysupgrade.conf,保证系统升级后也不会丢失该脚本

    # Configure firewall
    uci -q delete firewall.nat6
    uci set firewall.nat6="include"
    uci set firewall.nat6.path="/etc/firewall.nat6"
    uci set firewall.nat6.reload="1"
    uci commit firewall
    /etc/init.d/firewall restart
    
    # Configure firewall
    uci set firewall.@zone[1].masq6="1"
    uci set firewall.@zone[1].masq6_privacy="1"
    uci commit firewall
    /etc/init.d/firewall restart
    

USB

很多路由器有 USB 端口,通过插入 U 盘或者接入磁盘、SSD 等设备可以拓展存储空间,这样就可以安装更多的插件,或者搭建一个简单的 FTP、SMB 服务器用于共享数据

安装 USB 驱动

依次执行以下命令进行驱动基本包的安装

opkg update
opkg install kmod-usb-core
insmod usbcore
opkg install kmod-usb-storage

如果设备是 USB 2.0

opkg install kmod-usb2
insmod ehci-hcd

如果设备是 USB 3.0

opkg install kmod-usb3
insmod xhci-hcd

通常移动硬盘或者移动 SSD 还需要安装 UAS/UASP 支持

opkg install kmod-usb-storage-uas

然后热插拔存储设备,通常就能在 /dev 目录下看见 sda 设备了

自动挂载

  • 安装块设备工具包

    opkg install block-mount
    
  • 分区

    个人已经提前将存储设备划分了两个分区,一个分区较小(sda5)用于后续的 Extroot,剩余的空间(sda6)全用于存储个人数据

  • 创建文件系统

    推荐移动磁盘用 ext4 文件系统,而移动 SSD 推荐使用 f2fs 文件系统

    分区和创建文件系统可以参考 官网的指导

  • 配置挂载

    配置挂载可以通过直接在网页端的 系统-挂载点 进行手动配置,比较直观,如图所示:

    • 已启用:勾选
    • UUID:推荐使用 UUID 来进行挂载
    • 挂载点:也就是挂载的位置,通常在 /mnt 目录下新建一个文件夹

Extroot

有时候安装太多包会导致本地空间不足,此时可以通过将包安装在 USB 设备上,也可以通过 Extroot 的方式将 USB 设备的空间直接配置成 overlay 分区,后者更为推荐

  1. 修改 fstab,将原本挂载的 overlay 设备挂载到新的目录 /rwm

    DEVICE="$(sed -n -e "/\s\/overlay\s.*$/s///p" /etc/mtab)"
    uci -q delete fstab.rwm
    uci set fstab.rwm="mount"
    uci set fstab.rwm.device="${DEVICE}"
    uci set fstab.rwm.target="/rwm"
    uci commit fstab
    
  2. 修改 fstab,配置 USB 设备挂载成 overlay 分区

    其中部分部分操作在上节已经执行过,可以略去

    # 查看分区信息
    # block info# 确定分区并制作文件系统
    DEVICE="/dev/sda5"
    # mkfs.ext4 ${DEVICE}eval $(block info ${DEVICE} | grep -o -e "UUID=\S*")
    uci -q delete fstab.overlay
    uci set fstab.overlay="mount"
    uci set fstab.overlay.uuid="${UUID}"
    uci set fstab.overlay.target="/overlay"
    uci commit fstab
    
  3. 将原本 overlay 分区数据复制到 USB 设备上,重启设备

    mkdir -p /tmp/cproot
    mount --bind /overlay /tmp/cproot
    mount ${DEVICE} /mnt
    tar -C /tmp/cproot -cvf - . | tar -C /mnt -xf -
    umount /tmp/cproot /mnt
    reboot
    

FTP

配置好 USB 后,就可以配置 FTP 来共享 USB 设备

  1. 首先安装 vsftpd 包

    opkg install vsftpd
    
  2. 修改配置文件 /etc/vsftpd.conf,这里给出个人的配置,可以参考

    background=YES
    listen=YES
    anonymous_enable=NO
    local_enable=YES
    write_enable=YES
    local_umask=022
    check_shell=NO
    #dirmessage_enable=YES
    #ftpd_banner=Welcome to MINI FTP service.
    session_support=NO
    #syslog_enable=YES
    #userlist_enable=YES
    #userlist_deny=NO
    #userlist_file=/etc/vsftpd/vsftpd.users
    #xferlog_enable=YES
    #xferlog_file=/var/log/vsftpd.log
    #xferlog_std_format=YES
    ###
    ### TLS/SSL options
    ### example key generation: openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout /etc/vsftpd/vsftpd_privkey.pem -out /etc
    #ssl_enable=YES
    #allow_anon_ssl=NO
    #force_local_data_ssl=NO
    #force_local_logins_ssl=NO
    #ssl_tlsv1=YES
    #ssl_sslv2=NO
    #ssl_sslv3=NO
    #rsa_cert_file=/etc/vsftpd/vsftpd_cert.pem
    #rsa_private_key_file=/etc/vsftpd/vsftpd_privkey.pem
    # 共享的目录位置
    local_root=/mnt/ext4
    pasv_enable=YES
    pasv_min_port=10090
    pasv_max_port=10100
    
  3. 然后参考之前的开放端口,打开 20、21、10090-10100 端口就可以在外网访问 FTP 服务器了

  4. 之后重启 vsftpd 服务即可使用

    /etc/init.d/vsftpd restart
    

P.S. 连接 ftp 服务器的账号密码就是路由器的 root 账号密码

SMB

使用 Samba 来共享的设备可以在 Windows 的文件资源管理器中挂载,使用起来和本地磁盘一样(在局域网内)

  1. 安装 samba4-server 以及 LuCI 管理界面

    opkg install samba4-server
    opkg install luci-app-samba4 luci-i18n-samba4-zh-cn
    
  2. 在网页端的 服务-网络共享 中进行配置,个人配置如下,可以参考

  3. 之后重启 samba4 服务即可使用

    /etc/init.d/samba4 restart
    

P.S. 连接 Samba 服务器的账号密码也是路由器的 root 账号密码

BT 下载

transmission 是一个轻量级跨平台的 BT 下载客户端

  1. 安装 transmission

    opkg install transmission-daemon
    opkg install transmission-cli
    opkg install transmission-web   # web 界面,可选
    opkg install transmission-remote
    opkg install luci-app-transmission luci-i18n-transmission-zh-cn
    
  2. 直接修改 /etc/config/transmission,或者在网页端的 服务-Transmission 进行配置,下面给出个人配置,可以参考

    config transmissionoption config_overwrite '1'option mem_percentage '50'option nice '10'option alt_speed_enabled 'false'option alt_speed_time_enabled 'false'option bind_address_ipv4 '0.0.0.0'option bind_address_ipv6 '::'option blocklist_enabled 'false'option cache_size_mb '2'option dht_enabled 'true'option download_queue_enabled 'true'option download_queue_size '4'option encryption '1'option idle_seeding_limit_enabled 'false'option lazy_bitfield_enabled 'true'option lpd_enabled 'false'option message_level '1'option peer_limit_global '240'option peer_limit_per_torrent '60'option peer_port '51413'option peer_port_random_on_start 'false'option peer_socket_tos 'default'option pex_enabled 'true'option port_forwarding_enabled 'true'option preallocation '1'option queue_stalled_enabled 'true'option queue_stalled_minutes '30'option ratio_limit '2.0000'option rename_partial_files 'true'option rpc_bind_address '0.0.0.0'option rpc_enabled 'true'option rpc_host_whitelist_enabled 'false'option rpc_port '9091'option rpc_url '/transmission/'option rpc_whitelist_enabled 'false'option scrape_paused_torrents_enabled 'true'option script_torrent_done_enabled 'false'option seed_queue_enabled 'false'option speed_limit_down_enabled 'false'option speed_limit_up_enabled 'false'option start_added_torrents 'true'option umask '18'option utp_enabled 'true'option scrape_paused_torrents 'true'option watch_dir_enabled 'false'option enabled '1'option user 'root'option group 'root'option upload_slots_per_torrent '10'option download_dir '/mnt/ext4/transmission'option incomplete_dir_enabled 'true'option incomplete_dir '/mnt/ext4/transmission/incomplete'option trash_original_torrent_files 'true'option rpc_authentication_required 'true'option rpc_username 'rpc_username'option rpc_password 'rpc_password'option ratio_limit_enabled 'true'option config_dir '/etc/transmission'
    
  3. 之后重启 transmission 服务即可使用

    /etc/init.d/transmission restart
    

连接的账号密码为自行配置的 RPC 连接的账号密码

默认的 Web 界面 比较简陋,并且不能配置 tracker,个人推荐使用
transgui 来 RPC 连接使用

如果需要远程访问,则需要将 rpc_port 配置的端口开放,具体流程参考 上文

参考资料

  • 【OpenWrt】LuCI
  • 【CSDN】luci.cbi 报错
  • 【Github】应用设置界面错误
  • 【Github】MentoHUST 加入 v4 支持
  • 【Github】MentoHUST-OpenWrt-ipk
  • 【Github】OpenWrt/LEDE LuCI for MentoHUST
  • 【Github】MiniEAP
  • 【Github】minieap-openwrt
  • 【Github】OpenWrt/LEDE LuCI for minieap
  • 【GitHub】no-auto-reauth 配置项的逻辑判断有问题
  • 【OpenWrt】firewall rules
  • 【OpenWrt】防火墙配置举例
  • 【OpenWrt】IPv6 NAT6 配置
  • 【OpenWrt】默认使用 IPv6
  • 【OpenWrt】默认 IPv6 路由
  • 【OpenWrt】安装 USB 驱动
  • 【OpenWrt】使用 USB 设备
  • 【OpenWrt】Extroot 配置
  • 【OpenWrt】FTP
  • 【OpenWrt】Samba
  • 【OpenWrt】transmission

本文作者: ywang_wnlo
本文链接: https://ywang-wnlo.github.io/posts/51140c4a.html
版权声明: 本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!

【路由器】OpenWrt 配置使用相关推荐

  1. OpenWrt 20.02.2 小米路由器3G配置CP1025网络打印

    家里的施乐 CP116w 工作快五年了终于罢工了. 黑粉报错, 自己也不会拆, 只能搁置了. 后来换了个 HP CP1025. 这个打印机也不错, 墨盒便宜没什么废粉, 就是启动慢一点, 而且 – 没 ...

  2. 智能路由器-OpenWRT 系列五 (NAS-SMB家庭共享)

    NAS是我觉得家里必不可少的一台设备,NAS 全称 Network Attached Storage,即网络附加存储服务器,它通过自身的操作系统和 SMB/NFS/CIFS/FTP 等多种通信协议来给 ...

  3. 华硕无线路由打印机服务器,享受DIY的快乐 篇四:当普通打印机遇上智能路由器——网络打印机配置教程(以华硕AC66U B1为例)...

    享受DIY的快乐 篇四:当普通打印机遇上智能路由器--网络打印机配置教程(以华硕AC66U B1为例) 2020-07-15 15:27:48 21点赞 238收藏 41评论 创作立场声明:本文系作者 ...

  4. 树莓派3b+安装openwrt 配置wan lan和wifi

    树莓派3b+安装openwrt 配置wan lan和wifi 1.配置网络 修改/etc/config/network 注释掉option ifname 'eth0'一行,为防止与路由器地址冲突,将其 ...

  5. 智能路由器OpenWrt 开发环境 及 编译分析(一)

    OpenWrt 开发环境及编译分析 OpenWrt的版本:Chaos Calmer 15.05 软件源:软件源就是一个应用程序安装库,很多很多的应用软件都在这个库里面.只要设定好软件源,就能很方便的安 ...

  6. 路由器OpenWrt如何脱机(离线)下载BT文件

    路由器OpenWrt如何脱机(离线)下载BT文件 1.首先到如下网址下载OpenWrt固件(确保为路由器正确型号). http://downloads.openwrt.org/snapshots/tr ...

  7. openwrt配置虚拟多wan

    openwrt配置虚拟多WAN,在/etc/config/network文件中修改. 在文件中添加配置wan2 wan3的虚拟配置,其中wan2的VLAN ID是2:wan3的VLAN ID是3,通过 ...

  8. openwrt配置IPV6四天折腾记

    这四天来,为了实现通过路由器能够在终端直接获得IPV6地址并且访问IPV6网络,各种作死的折腾. 配置前提:有一个好的路由器,我的为小米路由器(记不得哪个版本了,就是原来卖129的那个),被我刷成了o ...

  9. 在CISCO路由器上配置DHCP与DHCP中继

    企业网络中DHCP环境的搭建 企业DHCP需求描述: 在大型企业中,一般都有很多个部门,各部门之间有时要求不能互通,这可以通过使用VLAN来解决,但是上千个人IP配置也是一件极大耗费人力的事.所以我们 ...

  10. Cisco路由器安全配置必用10条命令

    当谈到配置一台新的cisco路由器,多数配置依赖于路由器的类型以及它将服务的用途.然而,每位管理员都有其自己的"正确"配置每台路由器的命令列表.笔者将和你分享他自己配置路由器的十条 ...

最新文章

  1. 样式集 - 自适应居中弹窗
  2. 如何针对CMS系统进行SEO优化_
  3. 时序约束,STA的QA
  4. 与Web集成——《跟我学Shiro》
  5. android时间轴左右交叉布局,快速简单的定制一个时间轴布局(LinearLayout)
  6. react-native run-android的输出
  7. 信安教程第二版-第17章网络安全应急响应技术原理与应用
  8. 开源正在吞噬软件业?看开源的7大理念
  9. freertos 创建互斥量_freertos任务通信
  10. C#中IListT与ListT的区别感想
  11. IntelliJ IDEA安装AngularJS插件
  12. java 修改分辨率_JAVA程序分辨率修改及自适屏修改
  13. 极品-React中的DOM虚拟DOM,与deff算法,router
  14. QScrollArea样式设置
  15. EasyUI的Vue版本
  16. 今天第一次解决了程序在未装VS和XP下运行的问题
  17. Java实现的一个简易网络画板
  18. win10计算机打开一直读进度条,win10开机读条后黑屏怎么办_win10开机读条之后黑屏修复方法-win7之家...
  19. C/C++文件操作之CStdioFile
  20. R语言 switch结构

热门文章

  1. 算法复杂度分析(渐近记号)
  2. [Storm]分布式单词计数(一)一个简单的storm demo
  3. 分片集群实验(1)--雷哥
  4. 联想计算机如何设置bios密码,Lenovo消费台式电脑如何设置BIOS密码
  5. PHP+新浪微博开放平台+新浪云平台(SAE)开发微博应用——建立微博应用的过程
  6. android handler 传递对象,Android之Handler消息传递机制详解
  7. python快速启动一个web服务
  8. XCTF攻防世界--第2题快来围观学习
  9. 使用C++中类和指针进行记账系统的设计
  10. 把重要的东西存在手机便签备忘录里安全吗