毕业旅游(二)

(6月11号),看起来天气不错,就买了张“挂壁列车”,晃悠晃悠两个小时就到了广州,考虑到要在广州待三条左右,找了家离市区20km的小破挂壁旅馆住下了。

都安顿下来后,我便去找奈特了。

奈特真的如他所说的一样,不太愿意出门,所以自然对广州也不是很熟悉。这倒也正常,毕竟广州那么大。轩轩在青岛这个小城市,也不愿意出门,自然对青岛也不是很熟悉。

所以在见面前,又讨论了很长时间“去哪里“,“干什么”,最后还是选择了Ingress做拼图任务。做到一半,Wencey说要来的,然后我们问了下Wencey什么时候到,继续做了下任务,算好时间就去了火车站。

我们在火车站的地铁站里,绕起了圈,我和奈特在站台等着的时候,Wencey跑到了站厅里,我和奈特上到站厅的时候,Wencey又跑到了站台……

最后我们还是选择在站厅等Wencey。

Wencey一见到Nat挺开心的。

“奈特奈特奈~”,Wencey说道。

“嗯。”

“奈特可爱”

“谢谢。”

额,然后我们便开始讨论去哪里填饱肚子,Wencey一般都是来广州后去MIKU社解决,所以也不知道吃什么。最后还是奈特提议去了 博多一幸社 吃拉面。

吃完饭后,Wencey提议去lty的公司玩玩,他也顺便吧莫名其妙坏掉的Phi送给lty去修。

嗯,之前听说过lty这个人,但是仅限于Context2016(?),还有AS方面,感觉是个好厉害的人诶。

 

从东站出来,走了一公里,就到了一个玻璃外墙的三层小楼。Wencey就带着我们从入口上去了。

 

走到lty的办公室。 电源、示波器、还有叫不上名字的机器,感觉什么东西都有,(向大佬低头.jpg)。据说之前还有一台神奇的示波器,还可以在上面看bilibili😂。

 

随便参观了一会,lty提议去吃夜宵。

 

下楼,坐上lty的黑色高级SUV,又一次,我们也不知道吃什么😂,客随主便吧,lty把我们带到了一个购物广场,逛了一圈,最后找了个烤肉店坐了下来。

 

饭桌上,奈特、Wencey、Lty在那聊着,我一句话都插不进去,我好菜啊😂。

 

吃完之后,Lty把我和Wencey送了20KM到了宾馆,太感谢了!

 

到了宾馆,随便洗漱了下,就先睡下了,但怎么回事也睡不着,就和Wencey聊了起来,聊了关于怎么接触电脑的等等,,,,,,,

不知不觉就聊到了5点,然后我们就睡了过去。

2个小时后,这破挂壁酒店就开始钻墙装修了,把我和Wencey吵了起来😂,Wencey忍不了啊,直接给前台打了个电话,然后给换了个房间,继续睡了。

又过了4个小时后,因为Wencey要搭车回深圳,我又把他叫了起来。

在去LTY公司之前,我们得先解决肚子问题,一开始想吃全家的,但是随便进了一个,发现没有座位😂。正巧,隔壁有个宜家,我还没在宜家吃过,于是就在那解决了午饭。不得不说,那个瑞典肉丸还挺好吃的。

吃完饭,Wencey又带我回到了lty的公司,在这看到了lty在用贴片机给板子贴元件。

坐了一会儿,我感觉自己在这好尴尬,就跟Wencey和lty打了声招呼,回酒店躺着了。

 

 

 

 

毕业旅游(一)

坐在这摇摇晃晃的火车上,轩轩已经在回家的路上了。或许这次毕业旅行就到这里了。

这次总共出来了14天,可是完全没有上次(2016年)出去十天累。或许是这次预算更多一些吧,也刚好赶上飞机票价比较低的原因,轩轩多坐了几程飞机,然后上了飞机便睡了过去。之前轩轩出门一直坐KTZ的,晚上不能好好睡觉,得看好行李。

轩轩这次出门,既不想吃好吃的,也不想看自然风光,只想见人。或者说那两样是见人附带的。轩轩只想看看和自己聊天的人屏幕外面的样子。

6/1儿童节,看着张320元789飞机青岛飞往厦门航班,。

我一看,在家闲着也是闲着,买上出门算了。就这样先从青岛到了南方。

到了厦门,一出机舱门,雨刚停,还好还算凉丝丝的。可是一到宾馆放下东西出门。天哪,好热,我要回20度的青岛。

当然在厦门没见到任何人,就和同学随便逛了逛,吃了沙茶面,还有味道诡异的沙县小吃。

逛了下市区内部和国际会议中心那里,当然还有那个“一国两制,统一台湾”的那个牌子那里。

最后去了鼓浪屿岛上。个人觉得那个岛上,没什么意思。只不过是一个离岸的景区/商业区。岛上能把台湾金门县看得更清楚。

后来便坐车去了深圳。

也不知道是如何买的票,整个车厢只有我和我同学,简直极致包车体验。

到了深圳便找了个离罗湖口岸比较近的宾馆先住下了。

第二天就过关先去香港玩了。

香港也已经是第三次去了,但不管第几次去都会感到惊奇,所有的东西在这里都更快些。能感受到这城市紧张的氛围。

对这座城市也没好说的,真的就是再进去逛了逛,随便买了些进口食品吃。

回程还让八达通欠了35港币23333

回到深圳的宾馆,我们试了试在能直视香港的情况下,用数码通4G上网。

速度还不错,至少有20Mbps。

第二天,觉得没事,随便逛了逛华强北,又在城区里逛了逛了,刚好途中路过深圳大学,得知Wencey Wang在那。

 

第三天,便就约在了一个地铁站见面了。

Wencey

———————————————————————————————————————————

刚出地铁站,我和Wencey互相看了大概15s,我心想:“诶?是他嘛?是他嘛?”

Wencey一大高个儿,面善,很有程序员的气质(误

“您就是wencey?”

“啊,你就是啊?对了,你想吃什么啊?”

“我也不知道这周围有什么吃的,随便吧”

“额,其实你现在有两个选择,一是我校食堂,便宜但是貌似现在这个点不对。

二是海岸城,我们可以去吃火锅还有绿茶餐厅也不错。”

“那就海岸城吧。”

在去海岸城前,Wencey先带我去看了下深渊大学,又在路上给我介绍了下之前地形啥的。

然后就我俩就骑车去了海岸城,本来还想吃烤肉来着,但是一看关门了,就去了一个叫绿茶餐厅的地方。

拿起来,一看,一个冰沙26,一个面包20,绝了,咋这么贵。轩轩不是很懂那边的菜是什么样子。于是就主要让Wencey点了。我自己又加了一个糖醋里脊,一个高汤西兰花。

等着上菜的期间,Wencey问了下我的行程

“你来深圳,香港去过了吗?”

“去了,就随便买了些东西吃。”

“你去没去那个重庆大厦探险啊?”

“诶??那地方咋了”

“呵,那地方老刺激了,真不怕的话还可以在那住一晚上,房价老便宜了!”

“额,下次我试试。”

“对了,你从香港回来的时候,有没有看着穿着一个红色条纹衫的人?”

“emmm,没怎么注意啊。”

“我每次从香港回来都会遇到他,跟他打个招呼,然后他就会给你个牌,再给你点香港的东西,你过关后,交给另一个人,然后就能赚20来块,你看,这钱不赚白不赚是吧?”

“诶,还可以这样啊”

这时候,点的东西上来了,看着跟脉动瓶子一样大的冰砂,跟3块硬盘堆起来一样高的面包(什么形容方法?)上面还放了个冰激凌,我就知道为什么这个贵,或者说,还算便宜了。

“对了,你下一程准备去哪里啊?”Wencey一边看着菜才一边问。

我挖了一勺冰砂放进嘴里再说:““考虑等台风过了,去广州见奈特””

“嗯?奈特回国了?”,Wencey愣了一下。

“是啊,一个多月前就回了啊。”

“那我也倒是挺想见见奈特的,我都不知道他回来了。”

“那一起?”

“你什么时候走来着?”

“大概明天?”

“明天我不行,有课翘不掉,下午到时考虑下,但是住的地方不好解决。”

“这样啊,晚上再说?”

“对了,你知道三和大神吗?”

“当然知道啊!不就挂壁面+青蓝大水+挂壁烟吗?不过貌似现在被治理了吧?”、

“没有啊,就一群人在街上睡觉,警察貌似也懒得管了。”

“啊,这样啊,等着晚上我有空再去看看。”

“你如果要去的话,小心点,东西都装好,也被拍照小心被讹”

 

就这样吃完了饭,觉得也没啥地方可以去,我和Wencey又回到了深圳大学,首先Wencey带我参观了下他的宿舍,我被惊讶到说不出话。

觉得宿舍好热,又没法坐下,我们又下楼到了图书室。这个地方好歹有了空调,恰巧遇到了学校的吉他社( ?)在练习,来回走了走,发现没啥位置啊

他就又带我去了他学校的非常赛博的修了半年还没开放的机房楼看,给我展示了全楼唯一的“高可用”厕纸233。

下楼,走在深大里面。

“你看,这些教学楼都是我校工程学院设计的”

“哇,还不错。”

“只能说凑合吧,一出教学区,要被热死,全都是开放的。”

“那可真惨。”

“所以说上课讲究天时地利人和,你看天时——这课在早上,它时间就不对,再之,地利,这课竟然在北区上,人和更不用说了,前面两个摆出来我直接懒得去了。”

“哈哈哈,这也可以”

 

就这样,又聊了聊,一个下午就过去了,我也就回到了宾馆,本来还想去看三和大神,一看天黑了,算了,安全为重。

 

面基第一天就结束了。

去年

已經很久沒有在這裡寫東西了。

「不知道要寫什麼,也靜不下心來寫東西。」心裡這麼說,可仔細想一想,只是沒有動力來這裡寫東西了。以前為什麼會在這裡寫東西呢?沒想明白。以前都寫些什麼東西的來著?沒想起來。

「用伺服器上的第二 IP 給路由器公網啊,那會兒我還沒有自己的 IP 呢。」現在呢?有了自己的 ASN,有了自己的 IP 段。可失去了當初的熱情。為了拿到自己的 AS 和 IP,幾個月的時間裡付出了好多努力。換做現在,肯定會嫌麻煩就放棄了。

「運營商級 NAT 內用 Tunnelbroker 啊,怎麼這樣都能水一篇。」「怎麼還用 linklocal 靜態路由的。用 OSPF 啊,再不濟來個 RIPng 吧。」「/64 zone 是個啥啊,一般說 /64 prefix 吧」越看越覺得,明明只是不到一年前,怎麼這麼水,懂點皮毛就在瞎吹。記得那時候的自己看著很多技術部落格還很不屑「屁大點事兒也能嘰歪個半天」。現在學完東西再來看自己寫的技術文章,發現也是一個德行。

「5Ghz WiFi 啊,到現在還是搞不清這些無線電的事情啊。」年末的時候買了一塊 HackRf,配了個 Portapack。現在呢?在櫃子裡吃灰,可能等哪天有空了就會撿起來繼續玩吧。「開 AP 被禁埠?屁啦!你只是在 WAN 口開 RSTP 被 BPDU Guard 摁爆了。」

「啊,返校。很優秀的一個作品。當初玩的時候可喜歡了。」看了眼日期,2017-01-17。原來玩這個遊戲還只是去年的事情,卻有種那已經是很遠以前的記憶的感覺。可能是今年做的事情比往年都多,今年創造的記憶比以前幾年加起來都要多。

「年末啦。」嗯,就翻完了一年的文章了。不過現在不是年末啦,已經年初了。看到自己寫往年「沒什麼實感」,真是立了個 flag。今年特別有實感,比好幾年加起來都有實感。

「前端開發?啊對,前年在學那個來著。」AngluarJS?忘光了。不過現在還有人用嗎?好像大家都跑去用別的了。前端天天變,唯一不變的大概就是它天天變這一點了。

「前端程式設計師都是瘋子」嗯,這個沒錯,沒有深入進去也許是對的。

「ExpressJS,Vue?聽起來都很厲害。」可惜現在都不會了。

「噗,4 小時 70 刀那麼也開心」能達到現在這樣的收入,去年想都沒想過。

回顧一下今年做了些什麼,給明年的自己留點笑料。

上半年,沒有什麼記憶。根據 Github repo 的記錄,那會兒在瘋狂 Javascript。做了一堆不知道有啥用的小廢物。

下半年,有點記憶,就是開始搞網路的那段時間,申請 AS/IP,滿世界找支援 BGP 的服務商,開始實踐 BGP/OSPF,是特別充實的一段時間。之後休息了一段時間,開始跑去接 IX。後來還試著用 Javascript 實現了 BGP。現在那個項目的 TODO 上還堆得滿滿的,一點沒動。

再之後,期末臨近。上個學期的課全都是數學,離散數學、微積分、統計與概率,三門數學。很痛苦,很慘。

接下來就是假期了。

假期之後,撿起了快六年沒碰的 C。給 Linux/BSD 寫了一個 MikroTik 的 EoIP 和 EoIPv6。重溫了一下 C 基礎。寫著還發現了一個 RouterOS 的 DoS 漏洞,去要了個 CVEID(CVE-2018-5951)漏洞很弱智,但能導致 RouterOS 直接重啟。

說到 MikroTik 就很來氣,毛病多,弱智行為多,不按規範亂來。打算今年把網路設施換一套。

說是去年很充實,結果也沒寫多少內容。

就這樣吧。

淘宝99DIY耳机

之前服役了两年的ATH-CLR100被我艹坏了,而且还没有可以替换的耳机……就只能再买一个了。

打开狗东一看,这玩意价格依旧没变,就放弃了。

一拍脑门,干啊,要不买个DIY耳机看看?

一跺脚,一购买,就买回来个这个(只包括耳机):

是,山寨IE800,但是至少是金属壳,耐操了一点。

一插上mp3,线蹭了一下衣服,让我感觉我是不是买了一副好听诊器(。

播放音乐。说说感受,本人有那么一点要求的木耳,太细节的听不出来:

  • 低音量比较大……
  • 高音不是很足……
  • 中音并不是很突出……

当然,这个价格还要啥全能啊?

总体上来说和我之前的ATH-CLR100差不多,但是多了更多的低频,且不容易破音了。

那么就先这样用着吧……

整理筆記:BGP

BGP,Border Gateway Protocol,邊界網關協議。是一種去中心化、自治、矢量的外部網關協議(EGP)。幾個月前,因興趣使然,決定瞭解一下。說是去瞭解——只不過是偶爾無事可做的時候用來消磨時間罷了。

就像 OSPF、RIP 等內部網關協議(IGP)一樣,BGP 中也有鄰居的存在,通常稱為 peer。但與 IGP 不同,IGP 通常通過廣播來發現鄰居。BGP 中的鄰居必須手動配置鄰居關係。每個 peer 都有自己的 ASN (Autonomous System Number),BGP 中通過 AS 與 peer 來形成鄰接關係。

BGP 有兩種。擁有不同 ASN 的 peer 形成鄰接關係後,會成為 eBGP(External BGP),而擁有相同 ASN 的 peer 則是 iBGP(Internal BGP)。

eBGP 用於在不同的 AS 中交換路由信息。每個 AS 只知道自己的 IP 前綴(如:45.76.204.0/23,代表 45.76.204.0 – 45.76.205.255,寫這篇文章時,它在互聯網上由 AS20473 廣播)。AS 知道怎麼路由到自己的前綴。 AS 通過與其它 AS 形成鄰接來獲取對方前綴的 nexthop。

BGP 是通過「廣播」來交換信息的。默認情況下,BGP 會廣播自己所知道的路由(包括從別的 peer 學習到的路由,nexthop 會變成自己)給所有的 peer。廣播信息中會有一個 AS_PATH 屬性,記錄著這個前綴經由的 AS。peer 不會接受 AS_PATH 內有自己的 AS 的路由,來防止回環。通過這樣的方法,組成了互聯網。

前面說到 eBGP 會把從別的 peer 學到的路由的 nexthop 改成自己。在 iBGP 中不會。這樣可能會廣播一個 iBGP peer 不可達的 nexthop 給 iBGP peer。這時通過 next-hop-self 可以將 nexthop 改成自己。

默認情況下,eBGP 的 TTL 只有 1。這意味著,若 eBGP peer 不是直接連接,則通信數據包會在抵達到下一跳時被丟棄(iBGP 則沒有限制)。通過 ebgp-multihop 可以增加 TTL。一般情況下這沒有用。因為經由的路由沒有和你或者對方 peer,peer 會將接受到的 prefix 的 nexthop 設為它接到數據包的前一跳(即經由路由)。而經由路由沒有與你 peer,他們不知道怎麼抵達你的前綴。

所以它並不是這麼用的。在多條鏈路的時候 ebgp-multihop 就有用了。假設你與 peer 有兩條條連線:

+-----------------+ +-----------------+
| AS1             | | AS2             |
| eth0: 10.0.0.1 ----- eth0: 10.0.0.2 |
| dummy0: 1.1.1.1 | | dummy0: 2.2.2.2 |
| eth1: 10.1.0.1 ----- eth1: 10.1.0.2 |
+-----------------+ +-----------------+

Routing table: 
| AS1                   | AS2                  |
| 2.2.2.2 via 10.0.0.2  | 1.1.1.1 via 10.0.0.1 |
| 2.2.2.2 via 10.1.0.2  | 1.1.1.1 via 10.1.0.1 |

Peer config AS1:
nei 2.2.2.2 remote-as 2
nei 2.2.2.2 ebgp-multihop 2
nei 2.2.2.2 update-source dummy0

Peer config AS2:
nei 1.1.1.1 remote-as 1
nei 1.1.1.1 ebgp-multihop 2
nei 1.1.1.1 update-source dummy0

通過這種方式,就能有兩條到 peer 的連線。即使其中一條斷開,也能保持鄰接關係。

與 ISP 的 BGP peer 通常有幾種:

– 「Single Homed」只有單一鏈路,只與一個 ISP 形成鄰居關係。
– 「Dual Homed」有多條鏈路,只與一個 ISP 形成鄰居關係。
– 「Single Multi-homed」與多個 ISP 形成鄰居關係,每個 ISP 只有一條鏈路。
– 「Dual Multihomed」與多個 ISP 形成鄰居關係,每個 ISP 有兩條鏈路。

通常,要抵達一個前綴會有多條路徑。BGP 通過幾種方法來確定選擇哪一條。每個 peer 都可以指定 Weight 屬性,Weight 最高者會被選中(例:Single Multi-homed 時選擇優先出口 ISP)。iBGP 可以指定 Local Preference 屬性。Local Preference 最高者會被作為出口(例:Dual Homed 時選擇優先出口)。若選擇進入自己 AS 的優先路徑,可以使用 Metric 屬性。Metric 最低的路徑會被作為進入 AS 的路徑(例:Dual Homed 時選擇優先入口)。

另外一種影響選路決策的方法是 Prepend。Prepend 就是字面意思,用於在 AS_PATH 前添加一串 AS_PATH。BGP 會優先選擇最短的 AS_PATH。所以,通過 prepend 加長 AS_PATH 可以避免 BGP 選擇這條路徑,而去選擇其它更短的路徑。

BGP 中的 Communities 是一個附加位,通常用於告知 peer 該如何對它的其它 peer 廣播你廣播給它的前綴。Communities 通常是你的 peer 預先配置的一系列規則。可能是 prepend,可能是設置 weight,等。例如 AS20473 提供了這些 Communities:

AS20473 tags prefixes that are learned or originated as follows:

Originated by 20473:                  20473:500
Customer prefix originated by 20473:  20473:540
Prefix learned from Transit:          20473:100
Prefix learned from Public Peer:      20473:200
Prefix learned from Private Peer:     20473:300
Prefix learned from Customer:         20473:400
Prefix learned from AS number:        20473:XXXX
Do not announce to specific AS:       64600:XXXX
Prepend 1x to specific AS:            64601:XXXX
Prepend 2x to specific AS:            64602:XXXX
...

BGP 里有種東西叫做 Route Reflector(RR)。可以想象成 OSPF 里的 Designated Router。RR 有三種角色。eBGP 鄰居,iBGP 成員(client)鄰居,與 iBGP 非成員鄰居。從 eBGP 鄰居,與 iBGP 成員鄰居學習到的前綴會廣播給所有的鄰居。而從 iBGP 非成員鄰居學來的前綴只會被廣播給 iBGP 成員鄰居與 eBGP 鄰居。通過 BGP Confederation 也能達成和 Route Reflector 類似的效果。由於這允許了 iBGP 成員間的前綴學習,可能導致回環,BGP 引入了 Originator 與 Cluster List 來避免回環。Originator ID 由 RR 成員自己設置,iBGP 會無視 Originator ID 是自己的路由。Cluster List 類似 AS Path,在多個不同的 RR 組互相連接時,廣播給其它 RR 組的 Cluster List 內會加上自己的 Router ID,若在 Cluster List 中看到自己的 Router ID,則不會接受。

BGP 另外一個很重要的部分就是 filter。不同的 bgpd/路由器 有不同的實現,甚至是不同的名字。但大致功能就是:設置出站/入站前綴的屬性,或者禁止某個前綴被廣播/被接受。比如,Multihomed 的時候你可能會成 Transit AS,如果你不是 ISP,可以通過禁止某個 AS 的前綴從你這裡出站來避免成為 Transit AS 而節省帶寬。前面說到的設置 Weight/MED 等,也都會用到 filter。

和 IP 一樣,ASN 也是由 IANA 分發給 RIR,個人/組織再向 RIR 申請的。但是,在僅與一家 ISP peer 的時候,並不一定需要自己的 ASN。ISP 可能會給你一個公共 ASN,或者使用私有 ASN 來 peer。私有 ASN 的範圍是 64512 – 65534 與 4200000000 – 4294967294。(16 位 ASN 與 32 位 ASN)私有 ASN 是不能出現在公共網絡上的。通過 remove-private-as,可以移除 AS PATH 里的私有 ASN(若 PATH 中包含公共 ASN,則不會起效)。

有時候會使用 MPLS VPN 來通過 ISP 連接兩處地理隔絕的網絡。如果它們的 AS 相同,BGP 會以為這是回環而拒絕接受前綴。這時候可以在用戶的邊界路由(CE)上做 allow-as-in,或者 ISP 的邊界路由(PE)上做 as-override。allow-as-in 會忽略 AS PATH 中的自己的 ASN。as-override 會將 CE 設備的 ASN 換成 PE 設備的 ASN,而避免 AS PATH 里出現 CE 設備的 ASN。

寫得很混亂,想到什麼寫什麼,純粹靠記憶,可能有錯誤之處。

談談《巨嬰國》

去年年末的時候,從一位朋友那裡聽說了這本書。那時它還只是一本普通的書,沒有被列入封禁名單。而我對那本書的瞭解也只是『一本心理學著作』而已。我對於心理學一類的事物一直挺感興趣,所以聽說這本書時將它列入了待閱列表裡。

不過那列表已經被堆滿了,在它的前面還有三本書,所以起初預想著是不會這麼快去讀的。然而就在不久前,傳來了這本書被封禁的訊息,封禁的理由很可笑,但調起了我對這本書的興趣。春假前,正好拿到了這本書的 epub,於是決定將它提到列表的最頂端來,打發被大雪堵在宿舍裡的時光。

一般看完書我都是懶得寫評價的 —— 讀書通常不能給我什麼特別強烈的想法或者情緒。但這本讓我實在想提要一提,原本期待甚高,結果卻令人失望。先不說它的內容,它文字表述就很糟糕,閱讀體驗不好,讓人提不起讀下去的勁。不過一部作品的精髓不是它的文字,而是他的內容。所以這本書內容怎麼樣呢?

也不好。雖然它的觀點感覺不差:自我中心 —— 我是神、中式好人 —— 『好人』驅動的人生、被害妄想 —— 我是受害者、集體主義 —— 共生獲利,等等。提出的這些理論的確是一部分人的寫照。但是論述就讓人看著有些難受。像隨筆一樣的文風,除了開頭幾章,之後基本都在說作者自己看到的新聞,諮詢的人,然後引出所謂觀點,邏輯不清,思維極端。看待問題片面,以偏概全,情緒化。還將觀點一而再再而三的重複,彷彿讀者會記不住一樣,很嘮叨。讀完讓我覺得整本書就沒講什麼,只是不停不停的,喋喋不休的用各種個案武斷的說『你看,這就是巨嬰』,牽強的拉回中心論點。一兩次還好,作者反反覆覆,不厭其煩地這麼做。

另外,作者說,『多數國人,都是巨嬰,這樣的國度,自然是巨嬰的國度。』但卻一直用個案來論證,沒有什麼統計資料。『你看新聞裡都是巨嬰,我諮詢的都是巨嬰,我也是巨嬰。所以,多數國人,都是巨嬰。這是巨嬰的國度!』這種情緒化、膚淺的感覺。將一堆個案上升成國民性的問題,企圖用所謂的『巨嬰理論』分析整個中國社會,批這批那,戾氣重。作品裡提及的案例多而雜,讓我摸不著頭腦,感覺有些離題,所以有相當一部分的內容都是略讀過去的,感覺那些都只是廢話。沒看到有邏輯的推理和闡釋。

舉些例子:

巨嬰,即是成年的嬰兒,而嬰兒,特指 1 歲前的孩子。作為由巨嬰們組成的國度,中國吃文化如此發達,特別是廣東,可以從早茶開始,一直吃到晚茶乃至夜宵。就像是,嬰兒永遠在找奶吃。

廣東人不背這鍋好嗎,這什麼論證,請停一下。

所以蘿莉找大叔這種事情,在西方是偶爾出現,在東方則成了常見現象。蘿莉總是嘟著嘴,這是在要奶吃。她們渴望被包容,想要安全感,而同齡人只有熱情,這熱情也常是巨嬰水平的,所以要找大叔。大叔不僅僅是成熟,甚至根本就不是成熟,而其實是具有母性的男人,沒有乳房的『媽媽』。

東方西方掛嘴邊。嘟著嘴就是在要奶吃,太牽強,不知道什麼邏輯,都不知道從哪裡開始吐槽了。

作者在書裡還寫了些彷彿玄學一般的理論。比如把人比作能量體:

人性很複雜,但它的基本邏輯很簡單:一、每個人都是一個能量體。二、能量體伸展出的每一份能量,如被看到,就變成了光明,變成了生的能量,如熱情與創造力。三、能量體伸展出的每一份能量,如不被看到,就變成了黑暗,變成了黑色的、死的能量,如怨恨與破壞力。四、當一個人整個的能量體都被看到,生命就得以證悟。

是啊,人性真是捉摸不透啊。不知道的讀著還以為是要練氣功。

不找例子了,總之一開始真的是震驚,讀到懷疑人生。但讀到後面就釋然了。這本書不是什麼學術性的著作。是一本讓人宣洩情感,尋找自我認同的書。要我來說這本書的話,它就是一個社會觀察故事集,缺乏專業性,卻給自己掛上精神分析的牌子。它描述了一部分人的生活狀態,反映了一些社會現實。從這些現象中,提取了幾種人格,進行批判。所以這書該不該讀?可以讀讀。看看書中所描述的現象,也許會看到自己的影子,審視自己,自知自省。多少會有些啟發。至於書本闡述的道理?不是什麼深奧的理論,幾千字就能說明 —— 怎麼說呢,道理都是大實話,也是大廢話。

筆記:用伺服器上第二 IP 為 NAT 後的裝置提供公網地址

上回說到給宿舍的路由提供 IPv6。其實裡面很大一個原因是想通過外網來訪問 NAS 和 PC。可是並不是哪裡都有 IPv6。那就把公網 IPv4 也提供一下吧。

當然。沒法讓整個局域網都有公網 IPv4,買不起 IPv4 塊。只路由一個 IPv4,給網關用。

順帶一提,v6 隧道的中繼節點換到了 vultr 在 NY 的伺服器。過去只有 8 毫秒,不在 HE 的黑名單裡,還只要 2.5 US$ 一月,很舒心。更有趣的是 vultr 能很方便的新增 IPv4 地址。每個額外的地址要 2 US$ 一月。也就是說,總價 4.5 US$,就能擁有一個 IPv4 和一塊 /48 的 IPv6 出口網關。

總之,進入正題。首先,tap 可能是 down 的,用 ifconfig 把它帶起來,然後將要給隧道客戶端用的 IPv4 公網地址(假設是 108.61.xxx.xxx)路由到 tap 上:

ip route add 108.61.xxx.xxx/32 dev tap0

當然,如果這個 IP 地址已經在 ethX 或者 ensX 上了,要先刪除掉,也就是:

ip addr del 108.61.xxx.xxx/xx dev ensX

然後,回到路由上。添加一個新的路由表,這個表中使用隧道的 interface 作為網關,然後添加一條策略路由規則,讓所有來源於 108.61.xxx.xxx 的流量在那個表裡邊 lookup。不這麼做的話,路由器會從默認網關應答發到 tap0 上的流量 —— 那就完蛋了,這流量它根本就不知道跑去哪裡了。在 MikroTik 裡的做法:

/ip route add distance=1 gateway=ovpn_tunnel routing-mark=tap0_gateway
/ip route rule add src-address=108.61.xxx.xxx/32 table=tap0_gateway

設置好後,108.61.xxx.xxx 的 IP 就已經路由到路由器(隧道客戶端)上了。在它上面的隧道介面新增 108.61.xxx.xxx 這個地址,應該就能正常工作了。MikroTik 中:

/ip address add address=108.61.xxx.xxx interface=nato-us-ny network=108.61.xxx.xxx

路由跟蹤一下(從 Linode KDDI 發起):

                                               Packets               Pings 
 Host                                        Loss%   Snt   Last   Avg  Best  Wrst StDev 
 1. AS2516  106.187.33.2                      0.0%    20    1.1   0.9   0.6   2.2   0.0 
 2. AS2516  124.215.199.169                   0.0%    20    8.3   6.0   0.5  13.4   4.8 
 3. AS2516  otejbb206.int-gw.kddi.ne.jp       0.0%    20    1.2   2.4   1.2   8.6   2.2 
 4. AS2516  pajbb002.int-gw.kddi.ne.jp        0.0%    20  115.8 124.2 115.7 179.9  19.4 
 5. AS2516  sjeGCS002.int-gw.kddi.ne.jp       0.0%    19  109.1 117.4 108.4 261.1  34.9 
 6. AS2516  ix-sj6.int-gw.kddi.ne.jp          0.0%    19  108.6 118.7 108.5 189.4  23.5 
 7. AS3257  ae21.cr0-sjc1.ip4.gtt.net         0.0%    19  119.4 120.4 116.4 181.9  14.9 
 8. AS3257  xe-4-0-0.cr0-nyc4.ip4.gtt.net     0.0%    19  174.3 176.2 172.3 193.3   5.2 
 9. AS3257  as20473-gw.nyc40.ip4.gtt.net      0.0%    19  175.7 178.9 175.0 194.2   4.9 
10. AS20473 vl39-br1.pnj1.choopa.net          0.0%    19  190.0 192.5 189.7 201.6   4.2 
11. AS20473 vl901-c12-10-j2-2.pnj1.choopa.ne  0.0%    19  202.4 198.0 189.1 205.8   3.8 
12. ??? 
13. AS20473 v4-transit.nat.moe                0.0%    19  174.0 173.9 173.7 174.6   0.0 
14. AS20473 v4-gateway.internal.nat.moe       0.0%    19  197.4 199.8 197.3 236.4   8.8

搞定。這裡 v4-transit 是隧道伺服器的主要 IPv4 地址,v4-gateway.internal 是隧道客戶端,也就是路由器。成功給內網裝置提供了一個公共 IPv4 地址,不是用什麼反向連線,也不是什麼 DNAT,是真正的路由到路由器上的 IPv4 地址。

運營商級 NAT 內使用 Tunnelbroker

在學校裡想用 IPv6,但是學校沒給分發。於是就決定使用 Hurricane Electric 的 Tunnel Broker。不好說學校防火牆有沒有堵掉 protocol 41,也就是 6in4。但至少學校的 IPv4 出口不接受 ICMP。

然後 Tunnel Broker 就不開心了。說是必須要允許來自它的 ICMP,才能設定 IPv4 端點。那能怎麼辦,我也很無奈啊。那就只好從別的地方用什麼手段「中繼」一下了吧。

原本是想用 Digital Ocean 的,學校內連線它美國東部的資料中心只有 7 毫秒左右的延時。可是 Tunnel Broker 還是不高興。說這 IP 段在黑名單裡。就很生氣。換了另外一臺在美國中部的機子,成功建立端點。

一開始想的方案是通過 OpenVPN IP 隧道。因為,只要好好做轉發,就算端點在 NAT 後面也是沒有問題的。現實總是不太美好,總之,隧道內的隧道無法建立。去 superuser 題了個問,有人說「 IPv6 does not have fragmentation like IPv4 does, so shrinking the MTU with tunnels in tunnels could cause other problems. IPv6 also has a minimum MTU of 1280」。看了看自己 MTU 明明是 1500 —— 可能還有別的什麼玄學,總之這個方案被拋棄了。

然後就會想到直接用 OpenVPN 分發 IPv6 了,對吧?可是奈特使用的路由器,也就是之前提到的 MikroTIk 的路由器,上面的 OpenVPN 實現不支援 IPv6。

嗯 —— 那,放棄了?

當然不行。都研究了這麼多了。雖然路由器上面的 OpenVPN 不直接支援 v6,但是我們可以直接用 tap 隧道呀。tap 隧道的話就相當於 ethernet 了,好比兩張網卡用線連起來一樣。是執行在 Layer 2 上的。所以啥協議都能往上面套。

在伺服器直接分發估計也行,不過奈特傾向於在路由器這邊做。總之,無論怎麼做,先從 Tunnel Broker 申請一段 /48 的 IPv6 塊。然後,從裡面隨便選一塊 /64 出來。路由到 tap 介面的 link-local 地址上。也就是說:

ip -6 route add <your /64 zone>::/64 via fe80::...

然後回路由器來,在上面把 IPv6 路由到 tun 隧道的 IPv6 link-local 上。在 MikroTik 裡的話:

/ipv6 route add dst-address=2000::/3 gateway=fe80::...4%ovpn-tunnel

然後就搞定了。接下來就是區域網裝置的地址分配,不想在隧道伺服器那邊做,所以就在本地 LAN 橋上新增剛才路由到這兒的區域的地址塊,並且廣播:

/ipv6 address add address=<your /64 zone> interface=bridge advertise=yes

然後就:

IPv6 測試成功

IPv6 測試成功

好了。就這樣。

筆記:hAP ac (RB962UiGS-5HacT2HnT) 上的 5Ghz 無線配置

出於某些原因,用 OpenVPN 架了一個 site-to-site 的隧道 – 用來連線在學校宿舍裡的網路和某處的一個區域網。因為廣播的包也需要走隧道,那 OpenVPN 的 tun 隧道就行不通了,只能用支援 Layer 2 的 tap。隧道的這邊是一臺 RB3011UiAS-RM,手頭有一臺能使用的 hAP ac。現在想要做的事是,讓連線 WiFi 的移動裝置也能接入這個 VPN 的網路。

嗯,既然 Android/iOS 的 OpenVPN 不支援 tap,更何況 tap 上根本就沒有 DHCP,看著手頭有的裝置,能想到的只有設定一個無線網路,並且和 VPN 介面橋接來實現了。

說來學校是不讓學生自設 AP 的,如果私自架設 AP 會導致網口直接被禁用。不過,只要 WLAN 介面在 NAT 後面,就不會有事。猜測應該是有無線 IDS 記錄各個 WiFi 的 BSSID,如果在某個網口看見和 BSSID 一樣的 MAC,就禁用吧。為什麼會知道?因為在 cli 操作的時候一個不小心把 WLAN 介面和 WAN 介面橋接一塊兒去了,然後沒過幾分鐘,網口就被禁用了。如果學校沒有用魔法的話,這大概是唯一的方法。

但是無線還是得用的。偷偷的放在 NAT 後面,降低功率,選個不會干擾學校通訊的頻率 —— 只有這樣了。雖然覺得像是在做虧心事。看了看周圍的無線電頻率,都分佈在 CH 34-64, 149-165 裡。說實話這是第一次見排列這樣整齊的網路,每隔 5 個頻道就有一坨 20Mhz 的無線電,總之應該是做了很仔細的規劃,將不同 AP 之間的干擾降低到最低。我也不想打破這份寧靜,於是就決定使用 100-144 之間的頻率了。不知道為什麼沒有任何網路在這個區間,根據 FCC,這些個頻率在美國是能使用的,可能有些客戶端會拒絕使用這些頻率?沒有頭緒。

總之,既然這些區間完全沒有別的網路,那就可以放心的使用 80 Mhz 頻寬了。決定使用 CH 104-110。首先把國家設定成 US,頻率模式用 regularoy-domain。這樣頻率列表就只會顯示合法的頻率。

然後,來看看頻率表:

無線頻率表

無線頻率表

80 Mhz 的頻道是第二個,那麼我們就把中心頻道放那兒吧。也就是說,20/40/80Mhz eCee。(e: extension, C: center,即 eCee = CH104(20Mhz): e, CH106(80Mhz): C, CH108(20Mhz): e, CH110(40Mhz): e)。

總之,無線電配置看起來是這樣的:

無線電配置

無線電配置

配置好了,看看速度:

無線速率

無線速率

1300Mbps, 80Mhz,沒問題了。

「Detention 返校」的藝術表現力

Detention 返校。這是一個在 Steam 發佈不久的獨立遊戲。遊戲開發的初期,就有幸試玩了一下,之後便訂閱了他們的郵件列表。前幾天收到發售的郵件,便買了下來。

最開始的時候,只覺得這是一個一般的恐怖遊戲。玩下去才發現不是如此。故事的背景是白色恐怖時代的台灣。時代的黑暗,人性的惡揉雜在一起。遊戲所想要表達的內容很隱晦。大量的隱喻,明明通篇都是陰暗的畫面,卻有著無與倫比的表現力。

故事中有幾個人物。方芮欣,女主。魏仲廷,同學。張明輝、殷翠涵,老師。魏仲廷,張明輝與殷翠涵成立了一個讀當時的禁書的「讀書會」。實際上讀的書無非是瞭解事實,方芮欣與張明輝在這讀書會中產生了感情。但是張明輝深知「讀書會」的危險,漸漸疏遠了她。方芮欣誤以為是殷翠涵在其中作祟,舉報了殷翠涵。

方芮欣並不知道張明輝也是「讀書會」的成員。知道了真相的她唯有逃避。希望一切都是別人的錯。之後,殷翠涵逃往國外,張明輝被處以死刑,魏仲廷被關入大牢。女主也自殺了。徘徊於學校之中,永遠輪回。

遊戲便是追尋這段記憶、自我救贖的過程。

方芮欣用讀書會的書單威脅殷翠涵

方芮欣用讀書會的書單威脅殷翠涵

上圖便是暗喻著方芮欣舉報一事。遊戲中,方芮欣手持的道具其實不是手槍,而是書單。通過揭發書單,而『消滅』了殷翠涵。

鏡中的倒影便是真實。方芮欣審判了罪人。而現實里方芮欣卻逃避著。不願承認自己的孽障,最終讓方芮欣只能徘徊於此。

成為「愛國者」

成為「愛國者」——舉報殷翠涵

破碎的家庭

破碎的家庭

分崩離析的一切。

分崩離析的一切。

結局來說,有兩種出路。一種是成為「至高無上」的,榮耀的愛國者。

無上的榮耀——在眾人的掌聲中拿到「榮譽」

無上的榮耀——在眾人的掌聲中拿到「榮譽」

「所有人都愛你。」

「所有人都愛你。」

破落的禮堂里,吊繩輕輕搖曳。

破落的禮堂里,吊繩輕輕搖曳。

或者是,重拾真正的自己。

十五年後的魏仲廷,與徘徊在學校的方芮欣。

十五年後的魏仲廷,與徘徊在學校的方芮欣。

人非聖賢,孰能無過。遊戲除了表現人性,亦透出一種一種無可奈何。有些錯誤尚可彌補,而有些已經成為了永遠的遺憾。即使努力的想要忘記,即使不願想起來,罪孽也不會消失,藏在內心深處的記憶,不會隨著時間的流逝而消失。能做的就是不再逃避,直面它們。

總的來說,遊戲不錯。表現力極強,但遊戲的恐怖元素有些讓人摸不著頭腦。第一章節的恐怖元素讓我產生的放棄的念頭。

其餘部分,音樂,美術,人物動作都都頗為優秀。現在看來繼續玩下去時正確的選擇。但實在沒能理解起初的嚇人元素的作用。想要在這裡寫些什麼,無奈文筆太遭,許多東西也溢於言表。就這樣吧。