V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX  ›  linhua  ›  全部回复第 14 页 / 共 45 页
回复总数  897
1 ... 10  11  12  13  14  15  16  17  18  19 ... 45  
2017-05-21 14:58:36 +08:00
回复了 gaoyadianta 创建的主题 程序员 有良好的数据结构和算法基础
反转二叉树
原则上 还是建议 用 BBR

openVZ 64 位可以用这个 https://www.v2ex.com/t/353778
2017-05-17 21:59:35 +08:00
回复了 jmyz0455 创建的主题 VPS 有没有人对比过 ServerSpeeder VS BBR 的速度?
2017-05-17 18:07:24 +08:00
回复了 bukip 创建的主题 程序员 当程序员和秃顶有关系?
而且 程序员 生女孩 比例较高

秃顶 和 雄性激素 有关, 所以,你懂的
2017-05-16 19:29:22 +08:00
回复了 how2ex 创建的主题 程序员 为什么智能手机能通过网络定位而电脑却不行?
2017-05-15 19:58:46 +08:00
回复了 qling 创建的主题 Android Android 绿色应用公约
这个需要 android 市场 来推动,比较靠谱

但是中国的 android 市场比较混乱

具体就是 在 android 市场 上 标示 哪个 app 是 遵循这个公约的
2017-05-13 20:55:38 +08:00
回复了 firebroo 创建的主题 Linux sniffer 程序网卡混杂模式
2017-05-11 20:16:48 +08:00
回复了 NullMan 创建的主题 问与答 50 元有偿求 ffmpeg 剪切、合并、转码的命令,真的是有偿!
2017-05-11 11:35:30 +08:00
回复了 curiosity 创建的主题 问与答 睡眠不好,有什么方法没?
@curiosity
精力消耗, 也可以用其它途径, 比如 一些 益智类游戏, 连连看,开心消消乐,推箱子等等,也可以缓解紧张。
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
1 ... 10  11  12  13  14  15  16  17  18  19 ... 45  
关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2568 人在线   最高记录 6679   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 31ms · UTC 02:40 · PVG 10:40 · LAX 18:40 · JFK 21:40
Developed with CodeLauncher
♥ Do have faith in what you're doing.