最近电信更新了系统,开通了ipv6的支持,路由拨号后,可能获得一个/60的前缀。这个时候参考网上的一些设置教程,大多是通过中继的设置就不太适合了。

可以获取dhcpv6-pd的情况下,在openwrt下设置其实非常简单:
1、WAN口设置好PPPOE后保持默认设置;

2、WNA6也保持默认设置,如图:
20181102101947.png

3、LAN口的IPV6设置为RA:服务器模式,DHCPv6:服务器模式,NDP:禁用,如下图:
20181102102240.png

4、最后检查 /etc/config/network 文件中的 config interface 'wan' 段下面:

option ipv6 'auto'

PS:如果上面设置还有问题,在接口界面把IPv6 ULA前缀设成空白:
20181102102830.png

这样就可以了,不用像网上教程说的那么麻烦的,很多教程基本上是为不能获得前缀的情况下准备的。

If you are debugging IPTables, it is handy to be able to trace the packets while it traverses the various chains. I was trying to find out why port forwarding from the external NIC to a virtual machine attached to a virtual bridge device was not working.

You need to perform the following preparations:

Load the (IPv4) netfilter log kernel module:

# modprobe nf_log_ipv4

Enable logging for the IPv4 (AF Family 2):

# sysctl net.netfilter.nf_log.2=nf_log_ipv4

reconfigure rsyslogd to log kernel messages (kern.*) to /var/log/messages:

# cat /etc/rsyslog.conf | grep -e "^kern"
kern.*;*.info;mail.none;authpriv.none;cron.none                /var/log/messages

restart rsyslogd:

# systemctl restart rsyslog

Now check the raw tables – you’ll see that there are already entries coming from firewalld:

# iptables -t raw -L
Chain PREROUTING (policy ACCEPT)
target prot opt source destination
PREROUTING_direct all -- anywhere anywhere

Chain OUTPUT (policy ACCEPT)
target prot opt source destination
OUTPUT_direct all -- anywhere anywhere

Chain OUTPUT_direct (1 references)
target prot opt source destination

Chain PREROUTING_direct (1 references)
target prot opt source destination

We’ll want to add our tracing rules before the existing rules. In this example we’ll trace everything related to HTTP (port 80)

# iptables -t raw -j TRACE -p tcp --dport 80 -I PREROUTING 1
# iptables -t raw -j TRACE -p tcp --dport 80 -I OUTPUT 1

The rules now look as follows:

# iptables -t raw -L
Chain PREROUTING (policy ACCEPT)
target prot opt source destination
TRACE tcp -- anywhere anywhere tcp dpt:http
PREROUTING_direct all -- anywhere anywhere

Chain OUTPUT (policy ACCEPT)
target prot opt source destination
TRACE tcp -- anywhere anywhere tcp dpt:http
OUTPUT_direct all -- anywhere anywhere

Chain OUTPUT_direct (1 references)
target prot opt source destination

Chain PREROUTING_direct (1 references)
target prot opt source destination

Now access to that specific machine’s TCP port 80 are logged to /var/log/messages:

# tail /var/log/messages
May 27 19:57:54 storm3 kernel: TRACE: mangle:PRE_public:rule:3 IN=em1 OUT= MAC=ec:f4:bb:f1:4e:f0:00:25:46:70:2e:41:08:00 SRC=10.36.7.11 DST=10.32.105.30 LEN=64 TOS=0x00 PREC=0x00 TTL=59 ID=10953 DF PROTO=TCP SPT=54451 DPT=80 SEQ=1779626624 ACK=0 WINDOW=65535 RES=0x00 SYN URGP=0 OPT (020404D8010303050101080A124E9DB70000000004020000)
May 27 19:57:54 storm3 kernel: TRACE: mangle:PRE_public_allow:return:1 IN=em1 OUT= MAC=ec:f4:bb:f1:4e:f0:00:25:46:70:2e:41:08:00 SRC=10.36.7.11 DST=10.32.105.30 LEN=64 TOS=0x00 PREC=0x00 TTL=59 ID=10953 DF PROTO=TCP SPT=54451 DPT=80 SEQ=1779626624 ACK=0 WINDOW=65535 RES=0x00 SYN URGP=0 OPT (020404D8010303050101080A124E9DB70000000004020000)
May 27 19:57:54 storm3 kernel: TRACE: mangle:PRE_public:return:4 IN=em1 OUT= MAC=ec:f4:bb:f1:4e:f0:00:25:46:70:2e:41:08:00 SRC=10.36.7.11 DST=10.32.105.30 LEN=64 TOS=0x00 PREC=0x00 TTL=59 ID=10953 DF PROTO=TCP SPT=54451 DPT=80 SEQ=1779626624 ACK=0 WINDOW=65535 RES=0x00 SYN URGP=0 OPT (020404D8010303050101080A124E9DB70000000004020000)
May 27 19:57:54 storm3 kernel: TRACE: mangle:PREROUTING:policy:4 IN=em1 OUT= MAC=ec:f4:bb:f1:4e:f0:00:25:46:70:2e:41:08:00 SRC=10.36.7.11 DST=10.32.105.30 LEN=64 TOS=0x00 PREC=0x00 TTL=59 ID=10953 DF PROTO=TCP SPT=54451 DPT=80 SEQ=1779626624 ACK=0 WINDOW=65535 RES=0x00 SYN URGP=0 OPT (020404D8010303050101080A124E9DB70000000004020000)
May 27 19:57:54 storm3 kernel: TRACE: nat:PREROUTING:rule:1 IN=em1 OUT= MAC=ec:f4:bb:f1:4e:f0:00:25:46:70:2e:41:08:00 SRC=10.36.7.11 DST=10.32.105.30 LEN=64 TOS=0x00 PREC=0x00 TTL=59 ID=10953 DF PROTO=TCP SPT=54451 DPT=80 SEQ=1779626624 ACK=0 WINDOW=65535 RES=0x00 SYN URGP=0 OPT (020404D8010303050101080A124E9DB70000000004020000)
May 27 19:57:54 storm3 kernel: TRACE: nat:PREROUTING_direct:rule:1 IN=em1 OUT= MAC=ec:f4:bb:f1:4e:f0:00:25:46:70:2e:41:08:00 SRC=10.36.7.11 DST=10.32.105.30 LEN=64 TOS=0x00 PREC=0x00 TTL=59 ID=10953 DF PROTO=TCP SPT=54451 DPT=80 SEQ=1779626624 ACK=0 WINDOW=65535 RES=0x00 SYN URGP=0 OPT (020404D8010303050101080A124E9DB70000000004020000)
May 27 19:57:54 storm3 kernel: TRACE: mangle:FORWARD:rule:1 IN=em1 OUT=virbr1 MAC=ec:f4:bb:f1:4e:f0:00:25:46:70:2e:41:08:00 SRC=10.36.7.11 DST=192.168.101.10 LEN=64 TOS=0x00 PREC=0x00 TTL=58 ID=10953 DF PROTO=TCP SPT=54451 DPT=80 SEQ=1779626624 ACK=0 WINDOW=65535 RES=0x00 SYN URGP=0 OPT (020404D8010303050101080A124E9DB70000000004020000)
May 27 19:57:54 storm3 kernel: TRACE: mangle:FORWARD_direct:return:1 IN=em1 OUT=virbr1 MAC=ec:f4:bb:f1:4e:f0:00:25:46:70:2e:41:08:00 SRC=10.36.7.11 DST=192.168.101.10 LEN=64 TOS=0x00 PREC=0x00 TTL=58 ID=10953 DF PROTO=TCP SPT=54451 DPT=80 SEQ=1779626624 ACK=0 WINDOW=65535 RES=0x00 SYN URGP=0 OPT (020404D8010303050101080A124E9DB70000000004020000)
May 27 19:57:54 storm3 kernel: TRACE: mangle:FORWARD:policy:2 IN=em1 OUT=virbr1 MAC=ec:f4:bb:f1:4e:f0:00:25:46:70:2e:41:08:00 SRC=10.36.7.11 DST=192.168.101.10 LEN=64 TOS=0x00 PREC=0x00 TTL=58 ID=10953 DF PROTO=TCP SPT=54451 DPT=80 SEQ=1779626624 ACK=0 WINDOW=65535 RES=0x00 SYN URGP=0 OPT (020404D8010303050101080A124E9DB70000000004020000)
May 27 19:57:54 storm3 kernel: TRACE: filter:FORWARD:rule:7 IN=em1 OUT=virbr1 MAC=ec:f4:bb:f1:4e:f0:00:25:46:70:2e:41:08:00 SRC=10.36.7.11 DST=192.168.101.10 LEN=64 TOS=0x00 PREC=0x00 TTL=58 ID=10953 DF PROTO=TCP SPT=54451 DPT=80 SEQ=1779626624 ACK=0 WINDOW=65535 RES=0x00 SYN URGP=0 OPT (020404D8010303050101080A124E9DB70000000004020000)

周杰伦 - 安静

词/曲:周杰伦

只剩下钢琴陪我

弹了一天

睡着的大提琴

安静的旧旧的

我想你已表现的

非常明白

我懂我也知道

你没有舍不得

你说你也会难过

我不相信

牵着你陪着我

也只是曾经

希望他是真的

比我还要爱你

我才会逼自己离开

你要我说多难堪

我根本不想分开

为什么还要我用

微笑来带过

我没有这种天份

包容你也接受他

不用担心的太多

我会一直好好过

你已经远远离开

我也会慢慢走开

为什么我连分开

都迁就着你

我真的没有天份

安静的没这么快

我会学着放弃你

是因为我太爱你

只剩下钢琴陪我

弹了一天

睡着的大提琴

安静的旧旧的

我想你已表现的

非常明白

我懂我也知道

你没有舍不得

你说你也会难过

我不相信

牵着你陪着我

也只是曾经

希望他是真的

比我还要爱你

我才会逼自己离开

你要我说多难堪

我根本不想分开

为什么还要我用

微笑来带过

我没有这种天份

包容你也接受他

不用担心的太多

我会一直好好过

你已经远远离开

我也会慢慢走开

为什么我连分开

都迁就着你

我真的没有天份

安静的没这么快

我会学着放弃你

是因为我太爱你

你要我说多难堪

我根本不想分开

为什么还要我用

微笑来带过

我没有这种天份

包容你也接受他

不用担心的太多

我会一直好好过

你已经远远离开

我也会慢慢走开

为什么我连分开

都迁就着你

我真的没有天份

安静的没这么快

我会学着放弃你

是因为我太爱你

一. 显示内核的顺序

grep 'menuentry' /boot/grub/grub.cfg

二. 修改/etc/default/grub中

GRUB_DEFAULT=0

改为

GRUB_DEFAULT=内核顺序

特别的,对于有二级菜单的,Previous linux versions,注意需要有引号

GRUB_DEFAULT= “Previous Linux versions>Ubuntu, with Linux 3.2.0-18-generic-pae”
GRUB_DEFAULT= “Previous Linux versions>0”
GRUB_DEFAULT= “2>0”
GRUB_DEFAULT= “2>Ubuntu, with Linux 3.2.0-18-generic-pae”

三. 然后使用命令

sudo update-grub

四. 重启后,使用命令uname -r查看,内核即为你想要的内核

Microsoft Network Monitor是微软公司开发的一款Windows下的网络封包工具,功能类似与著名的封包工具Wireshark。
目前最新版本是3.4,已经8年没有更新了。看介绍上说,支持WinXP SP3到最新的Win10操作系统(Win10是自己测试可用)。
Wireshark很强大,毋庸置疑,但是有个遗憾就是一直都不支持过滤某个进程的网络封包。
之前也找过很多可以过滤某个进程的封包工具,大多都是注入dll去hook系统动态库ws2_32.dll的socket相关函数去实现的。
虽然也能实现功能,但是感觉跟驱动级的封包过滤工具相比,还是有点Low。

Microsoft Network Monitor的启动界面:
左下角蓝色区域,可以限定过滤哪个网络适配器的封包,左上角点击New Capture开始一个新的封包捕获。

开始新的捕获之后,可以点击Capture Settings,进行封包捕获的一些高级过滤配置,限定指定进程的封包也在这里设置。
输入过滤表达式:
Conversation.ProcessName.Contains("chrome.exe")

并点击Apply,可以过滤只显示Chrome浏览器的封包。 保存后点击Start开始捕获封包。

备注: 在Windows Vista以及之上的系统版本,需要管理员身份运行,才能获取到进程名称。

参考链接: Network Monitor Conversation Filtering