V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX  ›  linhua  ›  全部回复第 13 页 / 共 44 页
回复总数  868
1 ... 9  10  11  12  13  14  15  16  17  18 ... 44  
2017-05-11 11:00:57 +08:00
回复了 curiosity 创建的主题 问与答 睡眠不好,有什么方法没?
记单词
在你经验中,你是不是 记单词没多长时间 就觉得发困? 或者看乏味书籍
所以关键是脑力、精力消耗 跑步机是体力消耗
2017-05-10 20:54:57 +08:00
回复了 JackyBao 创建的主题 VPS [分享] OpenVZ 开启 BBR 之最简方法 - Linux Kernel Library
@kmahyyg @kuoruan
感谢 @kuoruan 的提醒
简化了一下步骤:
1. 自动设置 iptables 规则
2. 不需要输入 ip 地址(从网络接口中获得)
3. rinetd 的监听端口 可与 服务端口一样。 但前提是 服务软件 的监听地址 应为 ” 0.0.0.0 “ ,不能为服务器 ip 地址。

使用方法:

1. 修改 rinetd 的配置文件 rinetd.conf, 添加 监听地址

# bindadress bindport connectaddress connectport
0.0.0.0 443 0.0.0.0 443(你的服务端口)
0.0.0.0 80 0.0.0.0 80(你的服务端口)

2. 运行程序

下载 https://drive.google.com/open?id=0B0D0hDHteoksV2xJcFNOQVdrVHM 提供的 rinetd 可执行程序

➜ ~ ./rinetd -f -c ./rinetd.conf raw venet0:0

venet0:0 为你的网卡名字(需要与 ipv4 地址对应) , 注意:openVZ 中 与服务器 ipv4 地址对应的 网络接口名 一般为 venet0:0,不是 venet0, 请用 ifconfig 命令查看
2017-05-10 16:16:26 +08:00
回复了 JackyBao 创建的主题 VPS [分享] OpenVZ 开启 BBR 之最简方法 - Linux Kernel Library
@kuoruan
1. 如果不禁止 本地 TCP/IP 协议栈的端口的话, 本地协议栈会 对 TCP 连接 发送 RST 包,从而断掉这条 TCP 连接。因为你只是与 LKL 协议栈 建立了 TCP 连接(三次握手),而不是本地协议栈。 所以要维持 LKL 协议栈和 客户端的 TCP 连接的话,你需要 禁止 本地协议栈 发送 RST 包,或者直接让 数据包不经过 本地协议栈。 PACKET SOCKET 工作在 iptables 的底层,不受 iptables 的影响。
FinalSpeed 也采用了类似的方法 https://github.com/Chion82/kcptun-raw/issues/2#issue-203957142
原来的 LKL raw socket 的实现,用的是另外一种方法来 绕过本地的协议栈 https://github.com/Chion82/kcptun-raw/issues/2#issuecomment-277300952 但是 openVZ 的 venet 网络接口不支持这种方法,因为 openVZ 的 venet 接口不支持 ARP 协议,venet 网络接口是 Cooked interface,没有 mac 层(占 14 字节)

这个地方应该可以优化一下,iptables 匹配规则时,只匹配 venet 接口的数据包,不匹配 lo 设备的数据包,从而就不用修改 服务软件的 监听端口, 使用同一个端口,从而也不用重启 服务软件。 iptables 命令应该可以集成到 rinetd 软件里,只是暂时没有思路。

2. 是本机 ip 地址,这个可以改进, 以后可以省略掉,直接由设备名获得相应的 ip 地址。
2017-05-10 13:35:45 +08:00
回复了 JackyBao 创建的主题 VPS [分享] OpenVZ 开启 BBR 之最简方法 - Linux Kernel Library
@kmahyyg
可以 改成 其他端口

@JackyBao
是的,只要有 packet socket 功能的,都可以

haproxy 的代码太复杂,看不懂。 rinetd 的源码比较简单,只有一个 C 文件,主要就是 select 函数 的处理
2017-05-10 13:25:08 +08:00
回复了 JackyBao 创建的主题 VPS [分享] OpenVZ 开启 BBR 之最简方法 - Linux Kernel Library
@kuoruan
连接地址 可以是 0.0.0.0,也可以是 127.0.0.1
2017-05-10 13:07:02 +08:00
回复了 JackyBao 创建的主题 VPS [分享] OpenVZ 开启 BBR 之最简方法 - Linux Kernel Library
@kmahyyg
是的, 不需要, 在我这里,rinetd 程序占用了 11M
2017-05-10 12:15:10 +08:00
回复了 JackyBao 创建的主题 VPS [分享] OpenVZ 开启 BBR 之最简方法 - Linux Kernel Library
@kmahyyg @kuoruan
最近修改了一下,LKL 的 raw socket backend 也可以用在 openVZ 上了。
使用 RAW/PACKET socket 作为 后端的 LKL, 不需要 tun/tap, 不需要 iptables 的 NAT 功能(但需要 iptables 的 filter 功能) , 不能通过 hijack 方式 使用 LKL (因为只能 hijack 监听端口的 socket,而普通的 liblkl-hijack.so hijack 了所有的 socket ), 集成到了 rinetd 端口转发工具里。

使用方法:

1. 修改 rinetd 的配置文件 rinetd.conf, 添加 监听地址

# bindadress bindport connectaddress connectport
0.0.0.0 443 104.224.xxx.xxx (你的服务器 ipv4 地址) 30086(你的服务端口)
0.0.0.0 80 104.224.xxx.xxx (你的服务器 ipv4 地址) 30080(你的服务端口)

2. 使用 iptables 绕过 本地内核协议栈,防止本地内核协议栈 发送 RST 包:
根据 配置文件中 设置的监听端口号,修改命令中的端口号

➜ ~ iptables -A INPUT -p tcp --destination-port 443 -j DROP
➜ ~ iptables -A INPUT -p tcp --destination-port 80 -j DROP

3. 运行程序

下载 https://drive.google.com/open?id=0B0D0hDHteoksdjRVR2xaOGxTZ28 提供的 rinetd 可执行程序

➜ ~ ./rinetd -f -c ./rinetd.conf raw venet0 104.224.xxx.xxx 24 104.224.xxx.xxx

104.224.xxx.xxx 修改为你服务器的 ipv4 地址 ,venet0 为你的网卡名字(需要与 ipv4 地址对应)


修改的源代码:
https://github.com/linhua55/linux/tree/rinetd_bpf

https://github.com/linhua55/rinetd/tree/lkl_raw
使用 bash make.sh 命令 编译 rinetd, 需要修改 make.sh 文件, 将里面的 路径 替换 成自己的 LKL include 文件夹所在路径 和 liblkl.a 文件的路径。
2017-05-09 21:20:32 +08:00
回复了 Acheron 创建的主题 程序员 有没有适合手机上读的技术类书籍?
看来 你不想读, 正确方向应该是 尽量减少这些时间。

碎片化时间,适合 记忆(如记单词,记概念), 不适合读技术书(没有提供 充分理解的时间)。 整理一下自己的知识,将需要记忆的 用 Anki 软件记忆(如一些实现功能的 典型的 代码片段,功能实现步骤)
2017-05-06 15:48:09 +08:00
回复了 pew 创建的主题 Linux 网上下载了个所谓的云免脚本,懂 shell 大神帮看看 gzexe 压缩
禁止删除呀

2、chattr

change attribute,即修改文件或目录的隐藏属性;
(1)i:如果设置了此属性,则目录或文件不能被修改(即使 root 也不能修改或删除他)。
(2)a:如果设置了此属性,只能添加内容,而不能修改或删除内容;

chattr +ai file:添加属性;
chattr -ai file:删除属性;
chattr =a file:设置属性;

a:Append Only,系统只允许在这个文件之后增加数据,而不能删除这个文件。如果目录具有这个属性,系统将只允许在这个目录下建立文件,而不允许删除任何文件,也不允许修改目录下原有的文件。只有 root 用户可以设置这个属性。
要对 知识 进行分类的,不能一概而论。

知识分为 实用性 知识 , 和 非实用性的 系统性 知识。 学校里教的大多是 非实用性的 系统性知识。

知识也可以像 TCP/IP 那样进行分层, 实用性知识 偏向 应用层, 而 非实用性的 系统性 知识 偏向底层原理, 物理层。

一般人 无需 关注 底层实现原理, 只要知道 就这么用 就对了, 可以快速 解决实际问题。

实用性知识 是 那种 “书到用时方恨少” 的 知识。

要 鼓励 用户 进行鉴别, 不要觉得有道理就盲从, 要真正对自己有用才行。
1. 如果 Android 手机 通过 4G 网络 上网
这个可以用 tcpdump (在 Android 手机上运行 tcpdump ), 通过 usb 线连接 Android 手机,使用 ADB 命令运行 tcpdump,通过管道符 将 tcpdump 的输出 在 wireshark 中显示出来

adb shell "tcpdump -n -s 0 -w -" | "D:\Program Files\Wireshark\Wireshark.exe" -k -i -

https://wladimir-tm4pda.github.io/porting/tcpdump.html
https://www.cnblogs.com/findyou/p/3491035.html
https://blog.wirelessmoves.com/2017/02/adb-and-tcpdump-on-android-for-live-wireshark-tracing.html
2017-05-02 23:30:23 +08:00
回复了 wico97 创建的主题 问与答 Wireshark 怎么让分析指定的程序
Windows 开启防火墙,只允许这个程序联网
2017-05-02 10:06:12 +08:00
回复了 lada04 创建的主题 DNS 抗 DNS 污染 + DNS 加速 + 不丢 CDN, Win 下最好的傻瓜式方案?
维护傻瓜(不需折腾) ----> docker
2017-05-02 09:59:38 +08:00
回复了 shoaly 创建的主题 Android 有没有比较成熟的远程编译 apk 的方法啊
补充一下:
如果 使用 网络(一般是 wifi )连接手机: 这种应该也是可以的:
adb (client)(本地机器) <--port 5037--> adb server (PC)(服务器) <---port 5555---> adbd (phone)
2017-05-02 09:51:02 +08:00
回复了 shoaly 创建的主题 Android 有没有比较成熟的远程编译 apk 的方法啊
这个跟 ADB 的 原理 有关

首先 手机上运行了 adbd 服务, 电脑上运行了 adb server ( adb 客户端 server )( adb kill-server, adb start-server )( port 5037 ), 然后 使用 adb 命令( adb client )来和 电脑上的 adb server 通信, 电脑上的 adb server 再和 手机的 adbd 通信

即 一般数据传输路径(使用 usb 连接手机):
adb (client) <--port 5037--> adb server (PC) <---usb---> adbd (phone)

如果 使用 网络 (如 wifi )连接手机 ,如参照 http://lisux.me/lishuai/vimwiki/%E7%BD%91%E7%BB%9C%E8%B0%83%E8%AF%95android.html
则 数据传输路径是:

adb (client) <--port 5037--> adb server (PC) <---port 5555---> adbd (phone)


而只有 通过 端口连接 的两端,才能 将 其中一端 放在 服务器上, 然后通过 端口映射的方法 实现。

故 如果是 使用 usb 连接手机: 你只能将 adb (client) 放到服务器上, 然后 在服务器上 使用 端口映射 将 本地机器 的 5037 端口 映射到 服务器上的 127.0.0.1:5037 端口上。数据传输路径:
adb (client)(服务器) <--port 5037--> adb server (PC)(本地机器) <---usb---> adbd (phone)

而如果 使用 网络(一般是 wifi )连接手机: 你就有两种选择:
adb (client)(服务器) <--port 5037--> adb server (PC)(本地机器) <---port 5555---> adbd (phone)

adb (client)(服务器) <--port 5037--> adb server (PC)(服务器) <---port 5555---> adbd (phone)

参考:
https://github.com/mzlogin/awesome-adb
https://github.com/mzlogin/awesome-adb/issues/4
2017-05-02 09:08:04 +08:00
回复了 pointer 创建的主题 C 有没有大神知道这种 dat 文件 C++怎么读取
2017-04-29 11:28:31 +08:00
回复了 ericgui 创建的主题 程序员 以 Windows 系统为开发环境,有什么好建议吗?
影子系统


以前的 云端软件平台
上学时,matlab 老师 在教学机上 使用过,在新系统上无需安装 matlab,省去了 漫长的 matlab 安装时间

http://baike.baidu.com/item/%E4%BA%91%E7%AB%AF%E8%BD%AF%E4%BB%B6%E5%B9%B3%E5%8F%B0
https://xbeta.info/yunduan-2.htm
https://www.zhihu.com/question/22553267
2017-04-27 17:34:16 +08:00
回复了 shoumu 创建的主题 程序员 vim 某一个源代码文件无语法高亮
文件名到底是什么?
2017-04-25 20:20:43 +08:00
回复了 pljhonglu 创建的主题 Linux centos 7 路由问题请教
把 10.123.123.1 对应的 Metric 值 改小一点
1 ... 9  10  11  12  13  14  15  16  17  18 ... 44  
关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   3169 人在线   最高记录 6543   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 37ms · UTC 12:46 · PVG 20:46 · LAX 05:46 · JFK 08:46
Developed with CodeLauncher
♥ Do have faith in what you're doing.