|
本帖最后由 olvolv 于 2022-1-17 18:12 编辑
pve7.x(好像和内核有关,6.x的内核版本高的话也有可能出错,未验证)lxc版openwrt
据我体验的有两个坑:
1、水一篇,lxc版op防火墙失败原因(水。。。)我这个帖子说的是一个
2、因为debian(pve)防火墙和op的防火墙管理工具不同,具体的我也说不清
就摘录下网上搜到的内容
iptables(command)的最底层是netfilter,它的用户空间管理工具是iptables
nftables(command)是iptables(command) 的一个替代品并兼容iptables(command),最底层依然是netfilter,它的用户空间管理工具是nft
导致pppoe拨号后内核报bpfilter: read fail -512;然后导致fw3命令没有正常执行
这两个坑我是分别遇到的所以解决方法也是分开的,第一个那个帖子说明了
第二个我没能力找到根本原因去解决只能写个脚本去监控fw3执行是否成功
fw3解析firewall配置脚本来执行iptables命令设置防火墙规则,用户可以添加
脚本在fw3 reload/restart时执行,我就添加个脚本根据iptables -S输出内容
判断防火墙是否成功,最后发现两个坑可以用一个脚本解决所以我修改了下老脚本。
为了方便我写了个“安装”脚本,我的op是官方rootfs版本,如图
但是我的op不是重新安装的,不确定新安装的op,这个监控脚本还适不适合
脚本没有长时间测试,所以不保证质量
有需求的朋友可以试一试,有问题可以回复
- #!/bin/sh
- set -e
- FW_SCT='/etc/fw_dog.include'
- FW_CONF='/etc/config/firewall'
- FW_CONF_BK="/root/etc_config_firewall"
- usage(){
- echo $0 add 添加防火墙监控脚本功能
- echo $0 del 移除防火墙监控脚本功能
- exit
- }
- add(){
- if [ ! -f $FW_CONF_BK ];then
- cp $FW_CONF $FW_CONF_BK
- echo "###$FW_CONF已备份到$FW_CONF_BK"
- fi
- echo "###添加防火墙监控脚本###"
- uci set firewall.watchdog=include
- uci set firewall.watchdog.path=$FW_SCT
- uci set firewall.watchdog.type='script'
- uci set firewall.watchdog.reload='1'
- uci commit firewall
-
- echo "###添加脚本文件$FW_SCT###"
- cat << 'EOF' > $FW_SCT
- logger -t firewall-watchdog '>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> 启动...'
- LOCK=/tmp/firewallwatchdog
- FW_LINE_MIN_NUM=10
- FW_LINE_MIN_NUM6=10
- watchdog(){
- touch $LOCK
- while sleep 1;do
- #FILTER=$(iptables -S | grep -c 'zone_wan_src_REJECT') #以防火墙是否有'zone_wan_src_REJECT'来判断成功与否;
- #FILTER6=$(ip6tables -S | grep -c 'zone_wan_src_REJECT')
-
- FILTER=$(($(iptables -S|wc -l)-$FW_LINE_MIN_NUM)) #以防火墙条目数是否大于$FW_LINE_MIN_NUM来判断成功与否;
- FILTER6=$(($(ip6tables -S|wc -l)-$FW_LINE_MIN_NUM6))
- NAT=$(iptables -S -tnat | grep -c 'MASQUERADE') #NAT表如果没有'MASQUERADE'说明防火墙没有成功;
- if [ $FILTER -ge 1 -a $FILTER6 -ge 1 -a $NAT -ge 1 ];then
- logger -t firewall-watchdog "》》》》》》》》》》》》》》》》》》 OK!"
- break
- else
- logger -t firewall-watchdog "<<<<<<<<<<<<< 错误!执行:fw3 restart..."
- fw3 restart
- sleep 1
- fi
- done
- rm $LOCK
- }
- [ -f $LOCK ] || (watchdog &)
- EOF
- }
- del(){
- if uci get firewall.watchdog >/dev/null 2>&1 ;then
- echo "###移除防火墙监控脚本配置内容###"
- uci del firewall.watchdog
- uci commit firewall
- else
- echo "###防火墙监控脚本配置内容不存在###"
- fi
-
- if [ -f $FW_SCT ];then
- echo "###删除脚本文件$FW_SCT###"
- rm -rf $FW_SCT
- else
- echo "###脚本文件$FW_SCT不存在###"
- fi
- }
- [ $# -ne 1 ] && usage
- case $1 in
- "add")
- add $FW_CONF
- ;;
- "del")
- del
- ;;
- *)
- usage
- ;;
- esac
复制代码 保存脚本比如dog.sh,添加权限chmod 755 dog.sh 运行./dog.sh 显示说明:
./dog.sh add 添加防火墙监控脚本功能
./dog.sh del 移除防火墙监控脚本功能
哦,对了,关于打开网页慢,我也遇到过,慢是现象原因肯定不只一种我说说我遇到的
以前pve小鸡有两个千兆,这个现象这出现过一次还是几次,所以没在意,
最近pci-e口的出问题经常变成百兆,所以把利用k2t交换机用vlan把pve中op
弄成单臂路由,然后经常出现win访问网页慢,无法访问的问题,折腾许久发现
主要还是是ipv6问题,windows系统默认用ipv6去查询dns,如果ipv6
没设置好就导致dns查询失败,所以遇见网页打开慢了先在win的cmd运行
nslookup qq.com看看反应,如果失败了就说明ipv6没设置好
我昨天折腾好久才设置好ipv6,其实最关键的是:
光猫ipv6的相关设置(RA...等)一定关闭!!!
光猫ipv6的相关设置(RA...等)一定关闭!!!
光猫ipv6的相关设置(RA...等)一定关闭!!!
我就是没关闭一直和op的冲突导致win的ipv6一直时灵时不灵的,把op的设置截图
发上来做个记录,要不然每次都得折腾好久:
|
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有账号?立即注册
×
|