RouterOS v7 vlan-filtering

雖然 RouterOS v7 啟動了對 MT7621 VLAN HW offloading 硬體加速的支援:
https://help.mikrotik.com/docs/display/ROS/Bridge#Bridge-BridgeHardwareOffloading

然而因為此 bug,若是你在 bridge 裡面對封包上 tag / 解 tag,依然還是會吃掉 CPU IRQ:
https://forum.mikrotik.com/viewtopic.php?f=1&t=177092#p878135

目前的替代方案,依然還是只能把 vlan interface 疊加在 bridge 上面,也就是官方文檔裡面提到的 VLAN on a bridge in a bridge:
https://wiki.mikrotik.com/wiki/Manual:Layer2_misconfiguration#VLAN_on_a_bridge_in_a_bridge

運作起來是也沒什麼問題,只是就醜了些,感覺沒有那麼優雅…

好消息是官方說此功能正在積極開發中了。

Update

似乎 DHCPv6-PD 也修好了?

/ipv6 address
add from-pool=hinet_ipv6_pool interface=bridge_vlan100_HOME
/ipv6 dhcp-client
add add-default-route=yes interface=pppoe-out2-dynamic pool-name=hinet_ipv6_pool rapid-commit=no request=prefix use-peer-dns=no
/ipv6 firewall filter
add action=accept chain=output
add action=accept chain=forward connection-limit=100,64 connection-state=established,related connection-type="" dst-limit=1,5,dst-address/1m40s headers=\
    :exact limit=1,5:packet time=0s-1d,sun,mon,tue,wed,thu,fri,sat
/ipv6 firewall mangle
add action=change-mss chain=forward dst-prefix=::/0 new-mss=clamp-to-pmtu passthrough=no protocol=tcp src-prefix=::/0 tcp-flags=syn
/ipv6 nd
add interface=bridge_vlan100_HOME managed-address-configuration=yes
/ipv6 settings
set max-neighbor-entries=8192Code language: JavaScript (javascript)

RouterOS v7 vlan-filtering

研發替代役新訓日記

我是第 47 梯次的研發替代役。9/17 入營,10/2 放出來。來寫一下在成功嶺裡面的日記與注意事項。

9/17 Day 1

先到家裡附近的廟集合,然後民政局科科長帶各位役男拜拜,並且贈送電話卡一張。搭乘遊覽車到成功嶺報到。

體檢時每位役男都被看了蛋蛋,不過沒有觸診。

  • 每個長官或是分隊長、勤務役男講話都很大聲很凶(訴諸音量)。不仔細聽的話就會被臭罵,建議把耳朵帶出門並且好好使用。
  • 沒有叫你做的事情不要做、沒有要你寫的資料不要寫,這裡是講求一個口令一個動作的。
  • 領取了非常多的公發物品。建議運動鞋一定要仔細套量,尺寸不對的話以後跑步會很辛苦。其它衣物例如制服、皮鞋等尺寸大一點沒關係,即使沒有你的尺寸幹部也會隨便換大一點的給你。
  • 到營站建議一定要採買:多合一沐浴乳(洗澡省時)、備用毛巾(檢查用)x1、備用內衣 x1、袖珍包面紙 xN(實際使用)、抽取式面紙(檢查用)
  • 時程很趕,有問題一定要馬上舉手發文,不然會被幹。
  • 不能攜帶書籍,但 強烈建議 攜帶數獨,可以撕成紙張的形式或是抄在筆記本上,殺時間非常好用。
  • 建議購買至少兩盒喉糖,這是這幾天唯一可以吃的含有高糖分的東西,同時也可以拿來交朋友。
  • 需要縫名條,建議練習一下怎麼打結。
  • 只能使用手動刮鬍刀,建議提早購買並且練習如何使用。
  • 建議購買方正的牙刷,放在地板上的時候可以刷毛朝上放置不會滾來滾去的那種,避免被扣分。
  • 可攜帶防蚊液。
  • 建議不用攜帶額外的便服,穿身上那一套進去出來就好。
  • 金錢攜帶 1000~1500 即可,建議帶百元鈔與許多零錢,零錢可用於打電話,這樣就不用與別人排隊等 IC 卡電話機。
  • 若非體力過人,建議不需要擔任公差,例如打飯班與器材班,出營時間沒差多少。
  • 建議攜帶感冒藥,醫護所開的藥沒什麼用。
  • 可以攜帶手機與行動電源,會統一收到貴重物品櫃保管(自己會有鑰匙),洗澡時固定時間可以開機打電話,但是手機一定要將所有鬧鐘關閉,也不要在指定的場所以外的地方開機。成功嶺訊號很差,基本上也不用想上網或是講 Line 這種事情。

繼續閱讀 “研發替代役新訓日記”

研發替代役新訓日記

Tomato 無法 PPPoE 撥接上網問題

心血來潮在家裡的 ASUS RT-N66U 上刷了 Shibby Tomato,版本是 tomato-RT-N66U_RT-AC6x--130-AIO-64K,結果遇到了 PPPoE 無法上網的怪問題。

網頁顯示撥接成功,但是透過 ppp 拿到的是自己在內網設定的 gateway IP,覺得非常奇怪。之前用 DD-WRT 或是官方韌體沒有遇到類似的問題。

在 pppoe Options 裡面加了 debug 觀察一下建立連線的 log,發現了以下的片段:

daemon.notice pppd[4953]: peer from calling number 00:22:AA:90:D3:C3 authorized
daemon.debug pppd[4953]: sent [IPCP ConfReq id=0x1 <addr 192.168.0.1> <ms-dns1 0.0.0.0> <ms-dns2 0.0.0.0>]
daemon.debug pppd[4953]: rcvd [IPCP ConfReq id=0x1 <addr 192.168.16.1> <ms-dns1 0.0.0.0> <ms-wins 0.0.0.0> <ms-dns2 0.0.0.0> <ms-wins 0.0.0.0>]
daemon.debug pppd[4953]: sent [IPCP ConfRej id=0x1 <ms-dns1 0.0.0.0> <ms-wins 0.0.0.0> <ms-dns2 0.0.0.0> <ms-wins 0.0.0.0>]
daemon.debug pppd[4953]: rcvd [IPCP ConfNak id=0x1 <addr 192.168.0.1> <ms-dns1 168.95.192.1> <ms-dns2 168.95.1.1>]
daemon.debug pppd[4953]: sent [IPCP ConfReq id=0x2 <addr 192.168.0.1> <ms-dns1 168.95.192.1> <ms-dns2 168.95.1.1>]
daemon.debug pppd[4953]: rcvd [IPCP ConfReq id=0x2 <addr 192.168.16.1>]
daemon.notice pppd[4953]: local IP address 192.168.0.1
daemon.notice pppd[4953]: remote IP address 192.168.16.1
daemon.notice pppd[4953]: primary DNS address 168.95.192.1
daemon.notice pppd[4953]: secondary DNS address 168.95.1.1

發現了在 pppd 撥接的時候,router 送出了自己在 LAN 內的 gateway IP,而對方居然允許了,理論上應該不會發生這種事情才對,因為我希望對方給我一個動態配發的 IP 位置。

上網查了 pppd 的設定檔,發現在 pppoe options 裡面加上 noipdefault 就可以強迫 pppd 不送出自己在 LAN 的 IP 位置,如此一來就會拿到正確的 IP 位置了。

Tomato 無法 PPPoE 撥接上網問題

變更 lvm 分割區大小

lvm (Logical Volume Manager) 是一個複雜的邏輯分割區管理工具。

今天撞到一臺主機不知道怎麼搞得,/var 被切的超級大導致 /home 不夠用了,所以需要搬移一下空間…

首先先將 /var 的檔案系統縮小,保險起見建議可以縮小到目的大小的 90% 左右,之後可以再調整回來。

進行這個前步驟前需要先把 /var 解除掛載,使用 # fuser -vm /var 可以檢查有哪些 daemon 正在使用這個分割區,並且將其停止之,同時也要檢查一下檔案系統有沒有錯誤。

# e2fsck -f /dev/mapper/vg0-var

# resize2fs /dev/mapper/vg0-var 180G

然後使用 lvreduce 縮小 lvm 分割區的大小

# lvreduce -L 200G /dev/mapper/vg0-var

最後再將 /var 的檔案系統調整回目標的 200G

# resize2fs /dev/mapper/vg0-var

如此一來就可以把 /var 縮小了。

接下來我們需要增加 /home 的大小,做法類似,差異在 lvreduce 換成 lvextend

如果需要知道系統現在所有的 lvm partition, volume group 大小資訊等可以下 lvdisplay, pvdisplay, vgdisplay 等確定剩餘空間還有多少。

# lvextend -L 200G /dev/mapper/vg0-home

# e2fsck -f /dev/mapper/vg0-home

# resize2fs /dev/mapper/vg0-home

就大功告成。

變更 lvm 分割區大小

你好,2015

舊的一年又過了,今年依然沒什麼特別值得一提的。

延續去年的話題,在各種社會議題發酵之下,2014 有了許多意料之外的發展。三月的立法院可能是很多人都沒有想過的事情,接下來的許多關於公共議題的討論、論述等也是以從未見過的規模持續發生。科技的加入真的改變了許多事情,像是在抗議現場的網路直播、各種網路平臺的假設以及共同協作的逐字稿、志工維護的基礎設施等,不過不變的是人與人互動的本質 — 依然十分困難,也因此需要不斷、不斷的溝通與協調,才有可能真正改變某些事情。也許跌跌撞撞,但是我們已經在往正確的方向努力了,要彌補這幾年經濟發展所犧牲掉的公共論述培養,可能需要一點時間,大家可以一起加油。

除此之外,今年最高興的事就是在八月的時候出國去日本玩了奢華的 11 天。遊記依然持續連載中。

在學業的部分,去年進入研究所之後,進度依然十分緩慢,在接下來半年要加緊趕工了。研發替代役也找到了,希望是一個還不錯的地方。接下來就正式往無聊的人生前進了嗎?好像是這樣的,感覺還是有點可惜,但嚴格來說也不是不好的方向,只是無聊點了。在實驗室認識了許多強者,技術實力都十分深厚,我學到了不少東西,感謝 ADL 的大家,在過去這一年給了我很多經驗與許多學習的機會。當然,許多同學、學弟妹都給了我很多幫忙,要感謝的人太多了,就不一一列名了。能夠認識大家是我的榮幸。

新的一年,期許自己更加努力,變成一個更好的人。

你好,2015