我正在编写一个 VPN 系统,它加密 (AES256) 网络上的流量(当已经有 1,000,001 个其他人时,为什么要编写我自己的系统?嗯,我的系统是一个特殊的系统,用于执行其他任何一个都不适合的特定任务)。
基本上我想把我的想法从你身边跑过,以确保我按正确的顺序做这件事。
目前,数据包在发送之前只是加密,但我想对它们添加一定程度的压缩以稍微优化数据传输。不大量压缩 - 我不想一直最大化 CPU,但我想确保压缩尽可能高效。
所以,我的想法是,我应该在加密之前压缩数据包,因为未加密的数据包比加密的数据包压缩得更好?或者反过来?
我可能会使用 zlib 进行压缩。
命名这个有点棘手......
基本上我有一个程序,它在 STDOUT 上运行时会打印一组 shell 变量:
$ ./settings
SETTING_ONE="this is setting one"
SETTING_TWO="This is the second setting"
ANOTHER_SETTING="This is another setting".
Run Code Online (Sandbox Code Playgroud)
我想从 shell 脚本中运行它,就好像 STDOUT 是用source.
我想做一些像......
source `./settings`
Run Code Online (Sandbox Code Playgroud)
......但这当然行不通。
我知道我可以这样做:
./settings >/tmp/file
source /tmp/file
Run Code Online (Sandbox Code Playgroud)
但我真的不想那样做。
有什么线索吗?
我想通过交叉电缆连接我的两台在 2.6 内核中运行的 Linux PC。为此,我在 Google 搜索后进行了以下设置:
在 PC1
ifconfig eth0 10.10.11.16 netmask 255.255.255.0 uproute add default gw 10.10.11.13 eth0 (默认网关是 pc2 的 ip )在 PC2
ifconfig eth0 10.10.11.13 netmask 255.255.255.0 uproute add default gw 10.10.11.16 eth0 (默认网关是 pc1 的 ip )然后我尝试 ping 我无法连接。以上这些设置是否足够或我缺少任何东西?
为您提供更多信息
在 PC1
ifconfig 输出
eth0 Link encap:Ethernet HWaddr 00:16:76:A1:33:37
inet addr:10.10.11.16 Bcast:10.10.11.255 Mask:255.255.255.0
inet6 addr: fe80::216:76ff:fea1:3337/64 Scope:Link
UP BROADCAST MULTICAST MTU:1500 Metric:1
RX packets:49984 errors:6 dropped:0 overruns:0 frame:6
TX packets:17221 errors:0 …Run Code Online (Sandbox Code Playgroud)