大家好,欢迎来到IT知识分享网。
OpenWrt是一款强大的路由器操作系统,当然OpenWrt还可以作为其他用途,目前应用最广泛的就是路由器。希望对广大的客户,在配置网络有帮助。
配置文件
OpenWrt所有配置保存在/etc/config目录,以下为主要的网络配置文件
- 网络接口配置
/etc/config/network
- 网络服务配置
/etc/config/dhcp
- 防火墙配置
/etc/config/firewall
网络接口
OpenWrt网络接口一般包含lan口和wan口,但如果是X86等设备,只设置了一张网卡,只会生成lan口信息,在虚拟机中我们默认只配置一个网卡,方便配置网络,等熟悉基本网络配置后再尝试将OpenWrt打造成一台路由器。
查看网卡配置和IP信息
在前面的教程中,我们将网卡IP设置成了动态获取IP,那我们查看网卡和IP信息有哪几种方式呢
通过web界面查看
这是我们最常用的查看方式,但作为开发人员,应该学会下面的命令行方式查看ifconfig
- ifconfig是一条用于显示和配置Linux/Unix操作系统中网络接口的命令。ifconfig命令可以显示当前系统中所有可用的网络接口的信息,例如IP地址、MAC地址、子网掩码、广播地址等命令格式:
ifconfig $ifname
比如查看lan口信息:ifconfig br-lan
- 查看所有接口:
ifconfig
由于通过ifconfig只能看到ip和子网掩码信息,还要结合ip或route命令查看路由信息
通过ubus命令
- ubus是OpenWrt中的一种轻量级RPC(Remote Procedure Call)机制,用于实现进程之间的通信。ubus支持基于JSON格式的消息传递和异步通信,它可以用来在OpenWrt设备上进行各种操作,例如获取设备状态、配置网络设置、查询系统信息等。
- 可以使用ubus命令查看OpenWrt设备的网络信息。
具体步骤如下:
获取指定网络接口的详细信息(接口的名称、MAC地址、IP地址、子网掩码、广播地址、网关、DNS服务器)
- ubus call network.interface.<interface_name> status,
其中<interface_name>是网络接口的名称。例如,获取lan接口的详细信息:
ubus call network.interface.lan status
查看配置
我们也可以通过读取配置的方式获取网卡配置信息,但如果设置成了dhcp方式,状态数据不会存储在配置中,这种方式适合查看基本信息,比如ip地址获取方式、接口信息等查看文件命令cat /etc/config/network
uci配置查看命令uci show network
网络配置命令
- 配置动态获取
uci set network.lan.proto=dhcp - 配置静态IP
设置IP配置方式:
uci set network.lan.proto=’static’
设置LAN口的IP地址:
uci set network.lan.ipaddr=’192.168.10.100′
设置LAN口的子网掩码:
uci set network.lan.netmask=’255.255.255.0′
设置LAN口的网关地址:
uci set network.lan.gateway=’192.168.10.1′
设置DNS服务器地址:
uci set network.lan.dns=’8.8.8.8′
如果有多个DNS服务器,可以用空格隔开多个IP地址,例如:
uci set network.lan.dns=’8.8.8.8 8.8.4.4′
保存修改后的配置:
uci commit network
最后重启网络服务生效
/etc/init.d/network reload
执行完以上步骤后,OpenWrt设备的LAN口将配置为静态IP地址192.168.10.100、子网掩码255.255.255.0、网关192.168.10.1、dns 8.8.8.8
执行后可以查看uci和配置文件
root@ZhouWu:/# cat /etc/config/network
上面network配置信息,出自于MTK7981板子,把4个网口都配置成独立IP。
网络重启命令
修改网络配置后,有多种方式让配置生效
/etc/init.d/network reload
/etc/init.d/network restart
ubus call network reload
dhcp服务器配置
dhcp服务器用于分配ip地址给局域网的客户端,默认lan口的dhcp服务器是开启的,如果lan口虚拟网卡设置的是桥接模式,那lan口和PC处于同一广播域,PC可能会获取到OpenWrt系统分配的IP。
为了防止出现多DHCP服务器,我们要么将LAN口获取ip的方式改为dhcp,要么将DHCP服务器关闭,这里教大家如何关闭DHCP服务器。
- 配置文件
dhcp服务器配置保存在/etc/config/dhcp中,里面dhcp服务器配置和接口dhcp配置
- 关闭lan口dhcp
dhcp服务器忽略lan口:uci set dhcp.lan.ignore=1
保存配置:uci commit dhcp
重启服务:/etc/init.d/dnsmasq restart
wan口配置
uci show network.wan
常用配置
wan口配置和lan口类似,也可以设置static、dhcp、pppoe等方式,我们可以通过uci命令修改,也可以通过vi命令编辑/etc/config/network
配置文件修改,配置生效方式和lan口一样。
以下为各种方式的接口配置/etc/config/network
- dhcp方式
- 静态ip
- pppoe拨号
虚拟机路由环境搭建
- 增加虚拟网卡
当我们通过虚拟机安装系统后默认只配置了一个网卡,所以我们还需要增加一个网卡,用于做wan口
- 网络规划
为了方便模拟数据从lan到wan进行转发,我们需要增加一台虚拟PC,该PC和OpenWrt LAN口在同一个局域网,而OpenWrt wan口和物理PC在同一个局域网(通过桥接或NAT模式均可),这样虚拟PC上网数据就会经过OpenWrt处理,OpenWrt充当了一个路由器的角色。
网络拓扑
将OpenWrt lan接口配置为主机模式绑定为vmnet10(其他未占用的也可以),这样所有vmnet10中的网卡都和OpenWrt lan在同一个局域网。而wan口网卡设置为桥接模式,这样wan口可以获取到路由器分配的ip,并且和PC网卡ip在同一个网段。
网络拓扑图如下:
根据网络拓扑,还需要增加一台客户端,将网卡绑定到vmnet10,这样该客户端可以通过OpenWrt虚拟机联网,这里建议将OpenWrt系统克隆后修改网卡配置,作为客户端使用,当然你也可以增加一台windows、ubuntu虚拟机,连接OpenWrt路由器LAN口使用。
管理OpenWrt
设备按以上拓扑部署后大家应该发现一个问题,就是物理PC不能直接访问OpenWrt了,因为PC和OpenWrt wan口在同网段,和OpenWrt lan不在同一网段。
那如何管理配置OpenWrt系统呢?
这里有两个方案:
- 新增一台虚拟PC连接在OpenWrt LAN口,这样在虚拟PC中可以直接管理OpenWrt
- 通过wan口访问OpenWrt系统
注意默认是不能直接通过wan口访问的,因为OpenWrt默认开启了wan口防火墙,需要先关闭
关闭wan口防火墙
打开防火墙配置,找到wan口的配置规则,将REJECT修改为ACCEPT,然后重新加载防火墙规则
vi /etc/config/firewall
/etc/init.d/firewall restart 重启防火墙
这样就可以通过web访问OpenWrt系统了,注意通过wan口ip访问。也可以通过ssh连接wan口ip访问后台,注意低版本的OpenWrt需要绑定ssh服务到wan口才能访问,ssh配置文件/etc/config/dropbear
,绑定到wan后重启服务即可,重启ssh服务命令/etc/init.d/dropbear restart
免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://haidsoft.com/140254.html