海运的博客

openwrt/linux使用tcpdump/nflog ulogd记录iptables日志

发布时间:February 28, 2024 // 分类: // No Comments

iptables log当数据量较大的时候严重占用cpu资源,可以使用iptables nflog扩展配合ulogd收集日志,不占用cpu资源并且支持多种存储后端。
openwrt需安装以下:

opkg install iptables-mod-nflog ulogd ulogd-mod-extra ulogd-mod-nflog

ulogd配置文件,/etc/ulogd.conf

[global]
logfile="/var/log/ulogd.log"

plugin="/usr/lib/ulogd/ulogd_inppkt_NFLOG.so"
plugin="/usr/lib/ulogd/ulogd_filter_IFINDEX.so"
plugin="/usr/lib/ulogd/ulogd_filter_IP2STR.so"
plugin="/usr/lib/ulogd/ulogd_filter_PRINTPKT.so"
plugin="/usr/lib/ulogd/ulogd_output_LOGEMU.so"
plugin="/usr/lib/ulogd/ulogd_raw2packet_BASE.so"

stack=log1:NFLOG,base1:BASE,ifi1:IFINDEX,ip2str1:IP2STR,print1:PRINTPKT,emu1:LOGEMU

[log1]
group=1

[emu1]
logfile="/var/log/nflog1.log"
sync=1

iptables规则:

iptables -I OUTPUT -p tcp --dport 80 -j NFLOG --nflog-group 1 

也可以使用tcpdump监测,查看tcpdump是否支持nflog或nfqueue:

tcpdump -D
5.nflog (Linux netfilter log (NFLOG) interface) [none]
6.nfqueue (Linux netfilter queue (NFQUEUE) interface) [none]
tcpdump -i nflog:1

tmux bash shell自动保存history

发布时间:February 26, 2024 // 分类: // No Comments

修改~/.bashrc添加:

shopt -s histappend
#PROMPT_COMMAND="history -a; history -c; history -r; $PROMPT_COMMAND"
PROMPT_COMMAND="${PROMPT_COMMAND:+$PROMPT_COMMAND$'\n'}history -a; history -c; history -r"

https://unix.stackexchange.com/questions/1288/preserve-bash-history-in-multiple-terminal-windows

ImmortalWrt/OpenWRT为guest wifi网络配置ipv6 nat6

发布时间:February 25, 2024 // 分类: // No Comments

先通过web或修改配置添加wifi guest访客网络,network配置,通过mtk管理界面添加的无线接口要添加到网桥:

config globals 'globals'
        option ula_prefix 'xxxx:xxxx:xxxx::/48'

config interface 'guest'
        option proto 'static'
        option ipaddr '10.0.100.1'
        option netmask '255.255.255.0'
        option device 'br-guest'
        option ip6assign '60'

config device
        option type 'bridge'
        option name 'br-guest'
        list ports 'ra1'
        list ports 'rax1' 

通过openwrt原生无线管理添加的接口要添加到指定网络无需额外添加到网桥:

config wifi-iface 'wifinet3'
        option device 'MT7986_1_1'
        option mode 'ap'
        option ssid '2.4G-guest'
        option encryption 'psk-mixed'
        option key 'www.haiyun.me'
        option network 'guest'

dhcp配置:

config dhcp 'guest'                
        option interface 'guest'
        option start '150'
        option limit '100'            
        option leasetime '12h'     
        option dhcpv4 'server'
        list ra_flags 'none'
        option dns_service '0'        
        option ra_default '2' #强制通告ipv6路由给客户端     
        option ra 'server'
        option ra_maxinterval '120'
        option ra_ra_mininterval '60' 
        option ra_lifetime '1200' 
        option ra_useleasetime '1'
        option preferred_lifetime '10m'

iptables配置:

ip6tables -A INPUT -i br-guest -p icmpv6 -j ACCEPT
ip6tables -A FORWARD -i br-guest -o pppoe-wan -j ACCEPT
ip6tables -t nat -A POSTROUTING -s xxxx:xxxx:xxxx:xxxx::/64 -o pppoe-wan -j MASQUERADE

当pppoe成功获取ipv6时添加ipv6默认路由:

echo 'ip -6 rou add default via $LLREMOTE dev $IFNAME' >> /lib/netifd/ppp6-up 

PVE更新upgrade遇到The following packages have been kept back

发布时间:January 4, 2024 // 分类: // No Comments

The following packages have been kept back: proxmox-ve pve-kernel-helper
使用dist-upgrade,不要使用apt upgrade:

apt dist-upgrade 

openwrt/immortalwrt修改odhcpd ipv6 preferred_lifetime和valid_lifetime

发布时间:December 14, 2023 // 分类: // No Comments

宽带重新拨号会重新分配ipv6前缀,有的设备仍然优先使用旧的ip段,导致ipv6不能使用,可减小preferred_lifetime时间使旧的ip段快速失效。
openwrt dhcp提供preferred_lifetime参数设置preferred时间,需要将ra_useleasetime启用才有效,同时会将valid_lifetime修改为leasetime时间。

option leasetime '2h' 
option ra_lifetime 1200
option ra_useleasetime '1'
option preferred_lifetime '10m'

odhcpd源码判断设置preferred_lifetime和valid_lifetime:

src/router.c
if (addr->preferred > (uint32_t)now) {
        preferred = TIME_LEFT(addr->preferred, now);

        if (iface->ra_useleasetime &&
                        preferred > iface->preferred_lifetime)
                preferred = iface->preferred_lifetime;
}

valid = TIME_LEFT(addr->valid, now);
if (iface->ra_useleasetime && valid > iface->dhcp_leasetime)
        valid = iface->dhcp_leasetime;

使用wireshark查看效果:
2023-12-14_162454.jpg
也可用tcpdump查看:

tcpdump -i br-lan -nn "icmp6 && ip6[40] == 134" -vv
分类
最新文章
最近回复
  • Jimmy: 方法一 nghtp3步骤需要改成如下才能编译成功: git clone https://git...
  • 海运: 地址格式和udpxy一样,udpxy和msd_lite能用这个就能用。
  • 1: 怎么用 编译后的程序在家里路由器内任意一台设备上运行就可以吗?比如笔记本电脑 m参数是笔记本的...
  • 孤狼: ups_status_set: seems that UPS [BK650M2-CH] is ...
  • 孤狼: 擦。。。。apcupsd会失联 nut在冲到到100的时候会ONBATT进入关机状态,我想想办...
  • 海运: 网络,找到相应的url编辑重发请求,firefox有此功能,其它未知。
  • knetxp: 用浏览器F12网络拦截或监听后编辑重发请求,修改url中的set为set_super,将POS...
  • Albert: 啊啊啊啊啊啊啊啊啊 我太激动了,终于好了英文区搜索了半天,翻遍了 pve 论坛没找到好方法,博...
  • jiangker: good, very helpful to me
  • fengfeng: N1 armbian 能有编译下内核吗。。我要开启can 不懂怎么操作
归档