|
本帖最后由 lz_0618 于 2018-3-21 19:08 编辑
问题的出发点:我是天津电信的宽带,电信送的华为的盒子,破解后安装上软件了,但破解不完全,盒子没有Root,所以无法像网上的帖子那样,实现单线双网,弄得挺脑袋疼,看IPTV时,要插连接iTV口的网线,上网时,又要将网线插到其他口上,太烦了。
解决办法:将K2P刷成PandoraBox固件,利用潘多拉中的虚拟WLAN,将某一口虚拟成VWAN,并且通过负载平衡规则,将电信内网(IPTV)的网址分流到VWLAN口,上internet网的流量分流到WAN口。从而实现,通过一根网线,直接实现双网的无缝切换。
简单的网络拓扑如上。
下面是具体配置:
1,使能虚拟WLAN
2,配置接口和交换机
3,配置负载均衡
4,写创建IPSET的脚本,加入到负载均衡的Hotplug脚本中
#!/bin/sh
# to enable this script uncomment the case loop at the bottom
# to report mwan status on interface hotplug ifup/ifdown events modify the lines in the send_alert function
send_alert()
{
# variable "$1" stores the MWAN status information
# insert your code here to send the contents of "$1"
echo "$1"
}
gather_event_info()
{
# create event information message
local EVENT_INFO="Interface [ "$INTERFACE" ($DEVICE) ] on router [ "$(uci -p /var/state get system.@system[0].hostname)" ] has triggered a hotplug [ "$ACTION" ] event on "$(date +"%a %b %d %Y %T %Z")""
# get current interface, policy and rule status
local CURRENT_STATUS="$(/usr/sbin/mwan3 status)"
# get last 50 MWAN systemlog messages
local MWAN_LOG="$(echo -e "Last 50 MWAN systemlog entries. Newest entries sorted at the top:\n$(logread | grep mwan3 | tail -n 50 | sed 'x;1!H;$!d;x')")"
# pass event info to send_alert function
send_alert "$(echo -e "$EVENT_INFO\n\n$CURRENT_STATUS\n\n$MWAN_LOG")"
}
create_iptvlist()
{
local IPTV_LIST=iptvlist
ipset create $IPTV_LIST hash:net 2>/dev/null
ipset add $IPTV_LIST 10.255.0.0/16 2>/dev/null
ipset add $IPTV_LIST 10.232.0.0/16 2>/dev/null
}
delele_iptvlist()
{
local IPTV_LIST=iptvlist
ipset destroy $IPTV_LIST 2>/dev/null
}
case "$ACTION" in
ifup)
# gather_event_info
create_iptvlist
;;
ifdown)
# gather_event_info
# delele_iptvlist()
;;
esac
exit 0
脚本中红字部分需要根据各地的情况修改!
5,也许需要重新启动下路由器,可以看到负载均衡的两个接口变绿了
附所有配置脚本(这些脚本在图形界面配置后会自动生成,反之亦然,但总感觉有时候会出错):
NWAN配置文件
config rule 'iTV_rule'
option proto 'all'
option sticky '1'
option timeout '600'
option ipset 'iptvlist'
option use_policy 'p_iptv'
config rule 'wan_rule'
option proto 'all'
option sticky '1'
option timeout '600'
option use_policy 'p_wan'
config rule 'default_rule'
option dest_ip '0.0.0.0/0'
option use_policy 'balanced'
config policy 'p_wan'
list use_member 'M_WAN'
option last_resort 'unreachable'
config policy 'p_iptv'
list use_member 'M_IPTV'
option last_resort 'unreachable'
config policy 'balanced'
option last_resort 'default'
list use_member 'M_IPTV'
list use_member 'M_WAN'
config interface 'vwan1'
option enabled '1'
option count '1'
option timeout '2'
option interval '5'
option down '3'
option reliability '1'
option family 'ipv4'
list track_ip '219.150.32.132'
list track_ip '123.150.150.150'
option size '56'
option failure_interval '5'
option recovery_interval '5'
option flush_conntrack 'never'
option up '3'
config interface 'wan'
option enabled '1'
option family 'ipv4'
option reliability '1'
option count '1'
option size '56'
option timeout '2'
option interval '5'
option failure_interval '5'
option recovery_interval '5'
option down '3'
option up '3'
option flush_conntrack 'never'
list track_ip '192.168.2.1'
list track_ip '192.168.1.1'
list track_ip '219.150.32.132'
list track_ip '114.114.114.114'
list track_ip '114.114.115.115'
list track_ip '223.6.6.6'
list track_ip '112.124.47.27'
list track_ip '114.215.126.16'
config member 'M_IPTV'
option interface 'vwan1'
option metric '10'
option weight '1'
config member 'M_WAN'
option interface 'wan'
option metric '40'
option weight '1'
网络配置文件
config interface 'loopback'
option ifname 'lo'
option proto 'static'
option ipaddr '127.0.0.1'
option netmask '255.0.0.0'
config globals 'globals'
option ula_prefix 'fd4c:3a44:62f6::/48'
config interface 'lan'
option type 'bridge'
option proto 'static'
option netmask '255.255.255.0'
option ip6assign '60'
option delegate '0'
option _orig_ifname 'eth0.1 ra0 rax0'
option _orig_bridge 'true'
option ifname 'eth0.1 rax0'
option ipaddr '192.168.2.1'
config device 'lan_dev'
option name 'eth0.1'
option macaddr '68:db:54:94:ca:85'
config interface 'wan'
option ifname 'eth0.2'
option _orig_ifname 'eth0.2'
option _orig_bridge 'false'
option proto 'dhcp'
config device 'wan_dev'
option name 'eth0.2'
option macaddr '68:db:54:94:ca:84'
config interface 'wan6'
option ifname 'eth0.2'
option proto 'dhcpv6'
config switch
option name 'switch0'
option reset '1'
option enable_vlan '1'
config switch_vlan
option device 'switch0'
option vlan '1'
option vid '1'
option ports '0 1 2 5 6t 7t'
config switch_vlan
option device 'switch0'
option vlan '2'
option vid '2'
option ports '4 6t 7t'
config interface 'vwan1'
option _orig_ifname 'macvlan1'
option _orig_bridge 'false'
option ifname 'eth0.3'
option proto 'dhcp'
config switch_vlan
option device 'switch0'
option vlan '3'
option vid '3'
option ports '3 6t 7t'
|
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有账号?立即注册
×
|