单臂路由

单臂路由 openwrt设置 lan口设置 Network>interface>lan>physical settings: Lan口关闭桥接, Lan口取消桥接接口的勾选 接口选择网卡eth0 wan口设置 Network>interface>wan>physical settings: 接口选择网卡eth0 (跟lan口选择同一个网卡) Proxmox VE +openwrt|| docker + openwrt 单臂路由 Docker上运行Lean大源码编译的OpenWRT (初稿) https://openwrt.club/93.html/embed#?secret=a5nUefewHz https://www.redhat.com/sysadmin/leasing-ips-podman https://www.right.com.cn/forum/thread-941106-1-1.html https://github.com/lisaac/blog/issues/4 https://github.com/lisaac/openwrt-in-docker https://www.5yun.org/openwrt-x86-dan-bi-lu-you-dan-wang-kou-shang-wang-fang-fa.html

2020-04-25 · 1 min · 28 words · -

tcp reset, rst

tcp reset, rst 在谈 RST 攻击前,必须先了解 TCP: 如何通过三次握手建立 TCP 连接、四次握手怎样把全双工的连接关闭掉、滑动窗口是怎么传输数据的、TCP 的 flag 标志位里 RST 在哪些情况下出现。下面我会画一些尽量简化的图来表达清楚上述几点,之后再了解下 RST 攻击是怎么回事。 TCP是什么? TCP 是在 IP 网络层之上的传输层协议,用于提供 port 到 port 面向连接的可靠的字节流传输。我来用土语解释下上面的几个关键字: port到port: IP层只管数据包从一个IP到另一个IP的传输,IP层之上的TCP层加上端口后,就是面向进程了,每个port都可以对应到用户进程。 可靠: TCP会负责维护实际上子虚乌有的连接概念,包括收包后的确认包、丢包后的重发等来保证可靠性。由于带宽和不同机器处理能力的不同,TCP要能控制流量。 字节流: TCP会把应用进程传来的字节流数据切割成许多个数据包,在网络上发送。IP包是会失去顺序或者产生重复的,TCP协议要能还原到字节流本来面目。 从上面我用PowerPoint画的TCP协议图可以看到,标志位共有六个,其中RST位就在TCP异常时出现,也是我这篇文章重点关注的地方。 通过三次握手建立连接 下面我通过A向B建立TCP连接来说明三次握手怎么完成的。 为了能够说清楚下面的RST攻击,需要结合上图说说: SYN标志位、序号、滑动窗口大小。 建立连接的请求中,标志位SYN都要置为1,在这种请求中会告知MSS段大小,就是本机希望接收TCP包的最大大小。 发送的数据TCP包都有一个序号。它是这么得来的: 最初发送SYN时,有一个初始序号,根据RFC的定义,各个操作系统的实现都是与系统时间相关的。之后,序号的值会不断的增加,比如原来的序号是100,如果这个TCP包的数据有10个字节,那么下次的TCP包序号会变成110。 滑动窗口用于加速传输,比如发了一个seq=100的包,理应收到这个包的确认ack=101后再继续发下一个包,但有了滑动窗口,只要新包的seq与没有得到确认的最小seq之差小于滑动窗口大小,就可以继续发。 滑动窗口 滑动窗口毫无疑问是用来加速数据传输的。TCP要保证"可靠",就需要对一个数据包进行ack确认表示接收端收到。有了滑动窗口,接收端就可以等收到许多包后只发一个ack包,确认之前已经收到过的多个数据包。有了滑动窗口,发送端在发送完一个数据包后不用等待它的ack,在滑动窗口大小内可以继续发送其他数据包。举个例子来看吧。 大家看上图,标志位为.表示所有的flag都为0。标志位P表示flag为PSH的TCP包,用于快速传输数据。 前三个包是三次握手,客户端表示自己的滑动窗口大小是65535 (我的XP机器) ,服务器端表示滑动窗口是5840 (屏幕宽了,没截出来) 。从第四个包开始,客户端向服务器发送PSH包,数据长度是520字节,服务器发了ack确认包。注意此时win窗口大小发生了改变哈。以此类推。 倒数第二、三包,服务器在滑动窗口内连续向客户端发包,客户端发送的ack 124同时确认了之前的两个包。这就是滑动窗口的功能了。 如果谈到TCP攻击就需要注意,TCP的各种实现中,在滑动窗口之外的seq会被扔掉!下面会讲这个问题。 四次握手的正常TCP连接关闭 先画张简单的正常关闭连接状态变迁图。 FIN标志位也看到了,它用来表示正常关闭连接。图的左边是主动关闭连接方,右边是被动关闭连接方,用netstat命令可以看到标出的连接状态。 FIN是正常关闭,它会根据缓冲区的顺序来发的,就是说缓冲区FIN之前的包都发出去后再发FIN包,这与RST不同。 RST 标志位 RST 表示复位,用来异常的关闭连接,在 TCP 的设计中它是不可或缺的。就像上面说的一样,发送 RST 包关闭连接时,不必等缓冲区的包都发出去 (不像上面的 FIN 包) ,直接丢弃缓存区的包发送 RST 包。而接收端收到 RST 包后,也不必发送 ACK 包来确认。 ...

2020-04-16 · 5 min · 877 words · -

ping command, fping

ping command, fping options -s<数据包大小>:设置数据包的大小; -M hint 设置MTU(最大传输单元)分片策略。 可设置为: ‘do’:禁止分片,即使包被丢弃; ‘want’:当包过大时分片; ‘dont’:不设置分片标志(DF flag); install # ubuntu apt install iputils-ping # archlinux install fping pacman -S fping windows 长 ping ping 192.168.1.100 -t 指定网络设备 ping -c 1 -I veth0 192.168.3.102 同时显示统计信息 fping -l google.com 什么是 ping PING (Packet Internet Grope),因特网包探索器,用于测试网络连接量的程序。Ping发送一个ICMP回声请求消息给目的地并报告是否收到所希望的ICMP回声应答。 什么是 TTL TTL: 生存时间 指定数据包被路由器丢弃之前允许通过的网段数量。 TTL 是由发送主机设置的,以防止数据包不断在 IP 互联网络上永不终止地循环。转发 IP 数据包时,要求路由器至少将 TTL 减小 1。 使用PING时涉及到的 ICMP 报文类型 一个为ICMR请求回显 (ICMP Echo Request) 一个为ICMP回显应答 (ICMP Echo Reply) TTL 字段值可以帮助我们识别操作系统类型。 UNIX 及类 UNIX 操作系统 ICMP 回显应答的 TTL 字段值为 255 Compaq Tru64 5.0 ICMP 回显应答的 TTL 字段值为 64 微软 Windows NT/2K操作系统 ICMP 回显应答的 TTL 字段值为 128 微软 Windows 95 操作系统 ICMP 回显应答的 TTL 字段值为 32 当然,返回的TTL值是相同的 但有些情况下有所特殊 LINUX Kernel 2.2.x & 2.4.x ICMP 回显应答的 TTL 字段值为 64 FreeBSD 4.1, 4.0, 3.4; Sun Solaris 2.5.1, 2.6, 2.7, 2.8; OpenBSD 2.6, 2.7, NetBSD HP UX 10.20 ICMP 回显应答的 TTL 字段值为 255 Windows 95/98/98SE Windows ME ICMP 回显应答的 TTL 字段值为 32 Windows NT4 WRKS Windows NT4 Server Windows 2000 Windows XP ICMP 回显应答的 TTL 字段值为 128 这样,我们就可以通过这种方法来辨别操作系统 ...

2020-04-13 · 2 min · 323 words · -

监控一个 APP 的 HTTPS 流量

监控一个 APP 的 HTTPS 流量 在家里的电视上安装了 Plex 但是因为众所周知的原因, 登录 Plex 账号的过程或者登录之后的网络请求遇到了些问题, 路由器上配置的透明代理配置文件有可能并没有考虑 Plex 常用的地址, 所以需要用一些工具来分析 Plex 发出了哪些网络请求. https://www.anquanke.com/post/id/86238 https://calebfenton.github.io/2017/05/27/monitoring-https-of-a-single-app-on-osx/ 拦截 HTTPS 流量 生成一个根证书 安装这个根证书 用 proxychains 去代理指定的 app 使用 mitmproxy 去拦截流量 安装并配置 proxychains # macOS brew install proxychains-ng 创建一个配置文件 # macos /Users/wiloon/.proxychains/proxychains.conf 然后加入以下内容 strict_chain quiet_mode proxy_dns remote_dns_subnet 224 tcp_read_time_out 15000 tcp_connect_time_out 8000 [ProxyList] http 127.0.0.1 8080 strict_chain: 按照列表中出现的代理服务器的先后顺序组成一条链,要求所有的代理服务器都是有效的 quiet_mode: Quiet mode (no output from library) proxy_dns: Proxy DNS requests - no leak for DNS data remote_dns_subnet: 设置内部 dns 解析地址返回 IP 的网段 ProxyList: 代理服务器列表 ...

2020-04-03 · 2 min · 349 words · -

firewall 防火墙

firewall 防火墙 device 物理设备 context 物理设备上的虚拟防火墙, 类似于虚拟机的概念 每个 context 可以被看作是一个独立的防火墙实例。每个 context 拥有自己的配置文件、策略和规则集,使得单个物理设备能够同时作为多个独立的防火墙进行操作。 VRF VRF(Virtual Routing and Forwarding) VRF 和 Context 是独立的概念 VRF 是一种在同一物理设备上创建多个虚拟路由表的方法,使得不同的网络流量可以在相同的物理接口上保持逻辑隔离。VRF 主要用于以下场景: 多租户环境:在服务提供商或大型企业网络中,VRF 允许不同的客户或部门共享相同的物理网络设备而保持独立的路由表。 安全隔离:VRF 可以将不同的业务流量在逻辑上隔离开,确保不同业务之间的安全性和隐私性。 灵活性和可扩展性:通过使用 VRF,可以在不增加额外硬件的情况下,灵活地管理和扩展网络。

2020-03-01 · 1 min · 30 words · -

huawei vpn, sslvpn, secoclient in archlinux, 华为SSLVPN客户端

huawei vpn, sslvpn, secoclient in archlinux, 华为SSLVPN客户端 下载安装包 http://www.corem.com.cn/index.php/service/tools/secoclient 官方只提供了ubuntu版本,用以下方式可以在 archlinux 上使用。 sudo -i # seco client 依赖 ubuntu 的 arch 命令, 模拟 arch 命令返回 x86_64 echo "echo x86_64" > /usr/bin/arch chmod u+x /usr/bin/arch # install seco client ./secoclient-linux-64-6.0.2.run # 启动后台服务 cd /usr/local/SecoClient/promote ./SecoClientPromoteService -d # 启动secoclient UI cd /usr/local/SecoClient/ ./SecoClient 启动脚本 把 server_address 替换成服务端IP #!/bin/bash sudo ip route del <server_address> count=`ps -ef |grep SecoClientPromoteService |grep -v "grep" |wc -l` echo $count if [ 0 == $count ];then cd /usr/local/SecoClient/promote sudo ./SecoClientPromoteService -d fi count=`ps -ef |grep SecoClient |grep -v "grep" |wc -l` echo $count if [ 1 == $count ];then cd /usr/local/SecoClient/ sudo ./SecoClient fi crostini # in crostini export WAYLAND_DISPLAY=wayland-0 # user id 使用非0数字(非root的已有用户id,如1000,填0 时,secoclient无法启动) export XDG_RUNTIME_DIR=/run/user/<user id> /opt/google/cros-containers/bin/sommelier -X ./SecoClient

2020-02-01 · 1 min · 123 words · -

golang 百万 TCP 连接

golang 百万 TCP 连接 https://colobu.com/2019/02/23/1m-go-tcp-connection/ https://github.com/smallnest/1m-go-tcp-server

2019-11-01 · 1 min · 6 words · -

openvpn docker

openvpn docker export OVPN_DATA="ovpn-data" docker volume create --name $OVPN_DATA docker run -v $OVPN_DATA:/etc/openvpn --log-driver=none --rm kylemanna/openvpn ovpn_genconfig -u udp://home.wiloon.com docker run -v $OVPN_DATA:/etc/openvpn --log-driver=none --rm -it kylemanna/openvpn ovpn_initpki docker run -v $OVPN_DATA:/etc/openvpn -d -p 192.168.50.220:1194:1194/udp --cap-add=NET_ADMIN --name openvpn --restart=always kylemanna/openvpn docker run -v $OVPN_DATA:/etc/openvpn --log-driver=none --rm -it kylemanna/openvpn easyrsa build-client-full client0 nopass docker run -v $OVPN_DATA:/etc/openvpn --log-driver=none --rm kylemanna/openvpn ovpn_getclient client0 > client0.ovpn # Retrieve the client configuration with embedded certificates docker run -v $OVPN_DATA:/etc/openvpn --rm kylemanna/rpi-openvpn ovpn_getclient client0 > client0.ovpn docker run -v $OVPN_DATA:/etc/openvpn -p 1194:1194/udp --privileged -e DEBUG=1 kylemanna/rpi-openvpn server 192.168.255.0 255.255.255.0 verb 3 key /etc/openvpn/pki/private/xxxx.key ca /etc/openvpn/pki/ca.crt cert /etc/openvpn/pki/issued/xxx.crt dh /etc/openvpn/pki/dh.pem tls-auth /etc/openvpn/pki/ta.key key-direction 0 keepalive 10 60 persist-key persist-tun proto udp # Rely on Docker to do port mapping, internally always 1194 port 1194 dev tun0 status /tmp/openvpn-status.log user nobody group nogroup comp-lzo no ### Route Configurations Below route 192.168.254.0 255.255.255.0 ### Push Configurations Below push "block-outside-dns" push "dhcp-option DNS 192.168.50.1" push "comp-lzo no" push "redirect-gateway def1 bypass-dhcp"

2019-04-29 · 1 min · 162 words · -

TProxy

TProxy net.ipv4.ip_forward 这条命令的作用是开启 Linux 系统的 IPv4 协议栈的数据包转发功能。 sudo sysctl net.ipv4.ip_forward = 1 ip_forward = 0 如果目标 IP 地址是本机拥有的某个 IP 地址,系统就会接收并处理这个数据包(例如,交给某个正在监听端口的应用程序)。 如果目标 IP 地址不是本机的,系统会默认将该数据包丢弃。这是普通主机(Host)的正常行为。 ip_forward = 1 如果目标 IP 地址是本机的,处理方式不变。 如果目标 IP 地址不是本机的,系统不会丢弃它。而是会查询自己的路由表,根据路由规则将这个数据包从合适的网络接口转发出去,发送给下一个路由器或者目标主机。这时,这台机器就扮演了路由器(Router)的角色。 TPROXY 的作用 TPROXY(Transparent Proxy)用来做 透明代理,可以拦截特定的流量,并强制把它交给本地某个 socket(通常是代理进程),而 不改变包的目标地址/端口(和 REDIRECT 不一样,REDIRECT 会改成本机 IP)。 TPROXY 依赖内核的 nf_tproxy_core 模块,它会在路由决策阶段之前决定:这个包是否交给本地 socket TPROXY 能拦截哪些流量 来自外部的流量 在 mangle/PREROUTING 链,TPROXY 可以截获所有进入本机的包 —— 不论目标 IP 是本机,还是本来应该转发出去的其它主机,都可以“强行”转给本地代理进程。 这就是它相比 REDIRECT 的强大之处: REDIRECT 只能改成本机 IP,所以只适合本机为目标的流量; TPROXY 不改变目标 IP,能“假装”这个包还是发往原地址,同时又让本地代理进程接收。 本地产生的流量 在 mangle/OUTPUT 链,TPROXY 可以截获本机应用发出的连接,再转交给代理进程。 哪些流量不能被 TPROXY 拦截? 内核绕过 Netfilter 的流量:例如某些特殊协议或 raw socket 直接发出的包。 ...

2019-04-10 · 3 min · 458 words · -

win11 ssh agent

win11 ssh agent https://www.cnblogs.com/sparkdev/p/10166061.html https://davidaugustat.com/windows/windows-11-setup-ssh making sure that the OpenSSH client is installed Settings -> Apps -> Optional Features Scroll to “OpenSSH Client” and click on the item If it shows an “Uninstall” button, then OpenSSH is already installed, and you can skip to the next section. open Windows service, win + R “services.msc” Enabling the SSH Authentication Agent scroll to “OpenSSH Authentication Agent” and set to Automatic Delayed Start Generating the SSH key add private key into ssh-agent ...

2019-04-05 · 1 min · 100 words · -

iptables `nftables` 混合使用 -_-

iptables nftables 混合使用 -_- iptables 和 nftables 可以混合使用,但是规则要小心配置。 archlinux nftables 的默认规则是禁止转发的 (forward) 看 iptables 的 trace 日志 报文会先经过 iptables 的 forward 链,再流到 nftables 的 forward 链。 nftables 默认在 forward 链抛掉所有数据。 如果启用了 nftables, 一定修改一下 nftables 的默认配置文件。否则报文在 iptables 的 forward 链 accept 之 后会被 nftables 规则抛掉。 iptables trace iptables 调试, raw 表, LOG nftables trace nftables trace

2019-03-30 · 1 min · 55 words · -

archlinux ip forward, ip_forward

archlinux ip forward, ip_forward 开启数据包转发 vim /etc/sysctl.d/30-ipforward.conf net.ipv4.ip_forward=1 net.ipv6.conf.default.forwarding=1 net.ipv6.conf.all.forwarding=1 sysctl -a |grep net.ipv4.ip_forward 配置 nftables 的转发规则 nftables 默认在 forward 链抛掉所有数据。 如果启用了 nftables, 一定修改一下 nftables 的默认配置文件。否则报文在 iptables 的 forward 链 accept 之 后会被 nftables 规则抛掉。 https://wiki.archlinux.org/index.php/Internet_sharing ip_forward 与路由转发 https://blog.51cto.com/u156838989/1880744

2019-02-24 · 1 min · 39 words · -

网络唤醒, Wake On LAN, WAL

网络唤醒, Wake On LAN, WAL 华硕 BIOS 设置 Advanced> APM Configuration> Power on by PCI-E/PCI # archlinux, wol pacman -S wol wol -i 192.168.50.255 -p 9 1c:b7:2c:af:9a:6a # -i 192.168.50.255, 广播地址 # -p 9, 端口 9,大多数以太网卡都支持 9, 也可以尝试 7 或 0 # 1c:b7:2c:af:9a:6a, 被唤醒的主机的 MAC 地址 ubuntu sudo apt-get install wakeonlan wakeonlan 1c:b7:2c:af:9a:6a android client TX ToolBox Name: 填写一个别名就可以,例如: foo Mac Address: 填写电脑网卡MAC地址 (注意是主板上有线网卡) ,这个要填写正确,如何获得? 进入命令行运行: ipconfig /all,然后查看对应的物理地址即可,共6组2字节十六进制字符; Broadcast IP/Hostname/FQDN Broadcast IP/Hostname 是电脑所在的局域网的广播地址: 如果你的电脑分配到 192.168.1.100 则填写 192.168.1.255,将唤醒包广播到1网段下面所有电脑, Hostname: 则是你电脑的主机名. FQDN:是广域网唤醒, 例如你的手机在公网 (4g上网), 不在局域网,则需要填写路由器的DDNS域名, 如: http://homepc.router.net Port 端口默认是9, 这里默认就可以 ...

2019-02-02 · 1 min · 103 words · -

aliyun ddns

aliyun ddns https://github.com/honwen/aliyun-ddns-cli aliyun-ddns-cli --access-key-id=ak0 --access-key-secret=sk0 auto-update --domain=domain0.wiloon.com --redo=600 docker run -d \ -e "AKID=[ALIYUN's AccessKey-ID]" \ -e "AKSCT=[ALIYUN's AccessKey-Secret]" \ -e "DOMAIN=ddns.aliyun.win" \ -e "REDO=600" \ -e "TTL=600" \ chenhw2/aliyun-ddns-cli jeessy2/ddns-go https://github.com/jeessy2/ddns-go

2019-01-26 · 1 min · 33 words · -

ss command

ss command ss, Socket Statistics ss -ntlp ss -ntp ss -nxlp ss -nxp sudo ss -tuln6 | grep ':53' ss 是 Socket Statistics 的缩写。ss 命令可以用来获取 socket 统计信息,它显示的内容和 netstat 类似。但 ss 的优势在于它能够显示更多更详细的有关 TCP 和连接状态的信息,而且比 netstat 更快。当服务器的 socket 连接数量变得非常大时,无论是使用 netstat 命令还是直接 cat /proc/net/tcp,执行速度都会很慢。ss 命令利用到了 TCP 协议栈中 tcp_diag。tcp_diag 是一个用于分析统计的模块,可以获得 Linux 内核中第一手的信息,因此 ss 命令的性能会好很多。 常用选项 -h, –help 帮助 -V, –version 显示版本号 -t, –tcp 显示 TCP 协议的 sockets -u, –udp 显示 UDP 协议的 sockets -x, –unix 显示 unix domain sockets,与 -f 选项相同 -n, –numeric 不解析服务的名称,如 “22” 端口不会显示成 “ssh” -l, –listening 只显示处于监听状态的端口 -p, –processes 显示监听端口的进程(Ubuntu 上需要 sudo) -a, –all 对 TCP 协议来说,既包含监听的端口,也包含建立的连接 -r, –resolve 把 IP 解释为域名,把端口号解释为协议名称 ...

2019-01-08 · 6 min · 1243 words · -

iptables nat

iptables nat iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE iptables -t nat -A POSTROUTING -s 10.10.10.0/24 -o eth0 -j MASQUERADE nat 表需要的三个链: PREROUTING:可以在这里定义进行目的NAT的规则,因为路由器进行路由时只检查数据包的目的ip地址,所以为了使数据包得以正确路由,我们必须在路由之前就进行目的NAT; POSTROUTING:可以在这里定义进行源NAT的规则,系统在决定了数据包的路由以后在执行该链中的规则。 OUTPUT:定义对本地产生的数据包的目的NAT规则。 需要用到的几个动作选项: (真实环境中用大写) redirect 将数据包重定向到另一台主机的某个端口,通常用实现透明代理和对外开放内网某些服务。 snat 源地址转换,改变数据包的源地址 dnat 目的地址转换,改变数据包的目的地址 masquerade IP伪装,只适用于ADSL等动态拨号上网的IP伪装,如果主机IP是静态分配的,就用snat ip 包大致的流向 DNAT, podman nat表prerouting链 - nat替换目标地址 路由判断 filter表forward链 nat表postrouting链 accept 路由判断, 流入虚拟网卡 cni-podman0 https://www.cnblogs.com/highstar/p/3256813.html

2018-11-22 · 1 min · 52 words · -

openwrt install

openwrt install build R7800, Build custom Netgear R7800 firmware for a larger flash size/root space http://blog.wiloon.com/?p=12113&embed=true#?secret=Z4x4I19l6b burn netgear 刷机, factory.img, sysupgrade.bin http://blog.wiloon.com/?p=12826&embed=true#?secret=G3qiDnmUJx 改网段 openwrt lan 改网段 http://blog.wiloon.com/?p=12761&embed=true#?secret=XiBcmLWKRM openvpn https://openwrt.org/docs/guide-user/services/vpn/openvpn/basic enable https for wget opkg install librt openssl-util opkg install wget ca-certificates

2018-10-29 · 1 min · 41 words · -

netgear 刷机, factory.img, sysupgrade.bin, openwrt

’netgear 刷机, factory.img, sysupgrade.bin, openwrt' xxx-factory.img 把网线连接路由器的 LAN 口 和 PC 的网口 路由器断电, 用牙签或其他工具, 捅路由器的 reset 口 开启设备电源开关, 观察电源灯 (此时保持按住 reset/ Restore Factory Settings 按钮不要松手), 直到电源灯由橙色闪烁状态变到绿色闪烁状态(wndr4300) (说明设备已经进入到了TFTP修复模式) R7800: 电源灯从橙色闪烁变成白色闪烁。 在 win 下面使用命令, tftp -i 192.168.1.1 put image0.img 在 mac 下面, 同样也是使用 tftp 命令。 自己的 ip 改成192.168.1.10, 网关即路由 ip 192.168.1.1 把下好的 img 固件放到用户文件夹下 打开终端, 输入 (binary的作用是改为二进制模式)>tftp> connect 192.168.1.1>binary>put 文件名.img完了之后路由器会闪灯后自动重启。 linux tftp (to) 192.168.1.1 tftp> binary tftp> verbose tftp> put openwrt0.img tftp> quit 文件传送完毕后,等待 80 秒左右, 设备会自动重启 (请耐心等待, 切勿将路由器手动断电)。至此, TFTP 修复完成。 设备重启后, 可手动断电, 再重启。否则可能没有5G。这不是BUG,其他openwrt也是一样的 如果恢复过程中断或失败, 重复上述步骤再做尝试。 https://www.netgear.com/support/product/WNDR4300.aspx ...

2018-10-28 · 1 min · 87 words · -

nftable, nft basic, nft commands

nftable, nft basic, nft commands 安装 nftables archlinux sudo pacman -S nftables sudo systemctl start nftables sudo systemctl enable nftables sudo systemctl status nftables centos 8 systemctl disable --now firewalld 表, table # 列出所有表 nft list tables # 列出某一个族的表 # 列出 inet 族的表 nft list tables inet # 列出 ip 族的表 nft list tables ip # 列出 table0 表的内容 nft list table ip table0 nft list table table0 # list table content with handle nft -a list table filter # 增加表, Adding tables # 命令行 # nft add table [family] <name> nft add table ip table0 # 族可以不写, 默认簇: ip nft add table table0 # 删除 ip 族的 table0 表 nft delete table ip table0 # 默认 ip 族 nft delete table table0 链, chain # 查看 table 的内容, 能看到 Table 里的 链 nft list table table0 # 创建链 # 创建一个常规链 # 将名为 chain0 的常规链添加到 ip 簇(默认) 中名为 table0 的表中 nft add chain table0 chain0 # 创建一个基本链 # nft add chain [<family>] <chain-name> { type <type> hook <hook> priority <value> \; [policy <policy>] } # 要和hook (钩子) 相关连 nft add chain table0 chain0 { type filter hook input priority 0 \; } nft add chain table0 chain0 { type filter hook output priority 0 \; } nft add chain ip table0 chain1 { type filter hook input priority 0\; } nft add chain table0 chain1 { type filter hook input priority 0\; } nft add chain table0 chain2 { type filter hook output priority 0\; } # 将默认表中的 input 链策略从 accept 更改为 drop nft chain ip table0 input { policy drop \; } 规则, rule # 列出所有规则 nft list ruleset # nft add rule [<family>] <table> <chain> <matches> <statements> # 添加一条规则把源端口是 1025 的包丢掉 # family = ip # table = table0 # chain = chain0 # matches = tcp sport 1025 drop nft add rule table0 chain0 tcp sport 1025 drop nft add rule table0 chain0 tcp dport 1025 drop nft add rule inet table0 chain0 tcp dport ssh accept nft replace rule [<family>] <table> <chain> [handle <handle>] <matches> <statements> nft replace rule ip table0 chain0 tcp sport 1025 drop nft replace rule table0 chain1 handle 4 tcp sport 1025 drop # list table content with handle nft -a list table table0 # nft delete rule [<family>] <table> <chain> [handle <handle>] nft delete rule ip table0 chain0 handle 2 # 清空所有规则, 清空所有 table, chain, rule nft flush ruleset 查 # 列出 ip 族 foo 表的内容 nft list table ip foo # 列出 foo 表的内容 nft list chain filter input # 列出 filter 表 input 链 增 增加表, Adding tables 命令行 ...

2018-10-05 · 3 min · 553 words · -

resolv.conf, search, domain, nameserver, DNS

‘resolv.conf, search, domain, nameserver, DNS’ http://www.ttlsa.com/linux/resolv-conf-desc/ resolv.conf 是 resolver 类库使用的配置文件, 每当一个程序需要通过域名来访问 internet 上面的其它主机时, 需要利用该类库将域名转换成对应的IP, 然后才可进行访问. resolv.conf 文件的配置选项不多, 从 man 文档中看了半天,不理解 domain 和 search 使用来干嘛的。 这里做个解释, 防止以后忘了 (环境: ubuntu12.04) : nameserver x.x.x.x 该选项用来制定 DNS 服务器的, 可以配置多个 nameserver 指定多个 DNS。 domain mydomain.com 这个用来指定本地的域名, 在没有设置 search 的情况下, search 默认为 domain 的值。 这个值可以随便配, 目前在我看来, domain 除了当 search 的默认值外, 没有其它用途。也就说一旦配置 search, 那 domain 就没用了。 search google.com baidu.com 该选项可以用来指定多个域名,中间用空格或tab键隔开。它是干嘛的呢? 如: 在没有配置该选项时,执行 ping new sping: unknown host news ...

2018-09-25 · 1 min · 169 words · -