創作內容

2 GP

[Linux] PPPOE固定IP架站備忘錄

作者:Hajime│2021-05-24 23:59:10│巴幣:4│人氣:1559
話說我使用Linux已經是20幾年前學生時代的事了,我記得當時Slackware的版本才7左右而已。因為時代的進步和變遷,Slackware已經到了14.2版,很多新的東西都要重新學習。還好當年鐵了心,直接把電腦灌了Linux之後強制自己去使用他長達一個學年,從基礎一直到能做小型開機片(Linux down-sizing),研究kernel-module等等。可以說是打下很深的基礎。

但當完兵後,都一直在做遊戲的client部分,也就是「玩法」和「繪圖」的部分。只有在第一家上班的公司(雷爵)有在Linux上實作一個QA備份版本的流程機制。後來換了公司,用Linux的機會更是直接掛蛋,哇勒,這麼強又不用錢的作業系統放著不用,你們是怎麼了?

要不是出社會後一直是租屋的狀態,空間不足也無法架站。不然很早就想要弄一台Linux Server了,然而現在因為買了個十幾坪小房子,也總算是如願以償了。廢話不多說,要來記錄一下架站的重點部分了。

  • PPPOE的固定IP的設定和啟動

    以前學生時代,用的是學術網路的真實IP(140.xxx.xxx.xxx),所以以前架站都沒經歷過這一段,現在就讓我們看看PPPOE的固定IP要怎麼啟動吧。

    我的ISP是中華電信,如果已經有光世代寬頻,那麼,只要去HiNet的網站上,有個「HiNet非固定制固定IP申請」。申請之後,本來是8個浮動IP,就會變成1固定IP+7個浮動IP。而且會有Email通知說你的固定IP,接著重點來了,我們撥接PPPOE時,原先用的帳號是xxxx@hinet.et要變成xxxx@ip.hinet.net,然後再使用指今pppoe-setup設定參數:

    USER='7333xxxx@ip.hinet.net'
    ETH='eth0'
    DEMAND=no
    DNSTYPE=SPECIFY
    PEERDNS=no
    DNS1=168.95.1.1
    DEFAULTROUTE=yes
    FIREWALL=NONE


    以上,值得一提的是Firewall的部分,因為對iptables這個新的機制沒有研究,就先給他選NONE關閉了,不然真的連不上。等之後會用之後再來補一下文好了。
    怕你不小心啟動了iptables防火牆,這裡請先用iptables --list-rules確認一下沒有任何防火牆規則:


    再來,除了撥接密碼之外,其他的參數會全部寫入/etc/ppp/pppoe.conf,日後如果要微調,就改這裡就好了。

    要啟動PPPOE撥接的話,就用pppoe-start這個指令即可


    可以用ps awx | grep ppp指定看一下有哪些Process被啟動了


    如果要停止的話,就用pppoe-stop指令,這裡我們也可以看到他其實是用kill指令砍了pppoe-connect和pppd這兩個Process。


    好了,以上只是告訴你PPPOE會啟動哪些Process在背景運作。如果沒興趣知道可以不用理他。照常啟常PPPOE即可。但這時,你可能會覺得說大概就這樣了吧,於是用另一台電腦,試圖從外站PING這台Server時,你會發現:


    咦~~~~~~~怎麼會這樣,不是已經順利啟動了嗎? 到底是花生省魔術?
    那我追一下路由好了:


    原來是卡在h254.s98.ts.hinet.net [168.95.98.254],這裡其實我卡很久。反正我解了,就記錄一下發生了什麼事吧。首先先來Linux Server這邊,利用route -n指令看一下路由表:


    首先我們要先知道說,現在這台Linux Server上有兩個對外連線的路徑,分別是
    eth0:  內網192.168.1.102,經由Hinet小烏龜(192.168.1.1
    ppp0: 外網1.xxx.xxx.xxx,經由Hinet機房(168.95.98.254
    這裡我先這樣解釋,有更了解的朋友麻煩幫解釋更清楚一點喔。這裡我們看到default gateway就是eth0,然而我們的外來的連線要連進來Linux Server,如果是先經過eth0的話,就無法穿透小烏龜進入內網(192.168.1.x)。這時解法就是把default gateway設定成ppp0,讓他經由Hinet機房的真實IP連入,這樣才能解決無法穿透內網(192.168.1.x)的問題。


    好了,就醬,再讓我們從外網IP再PING一次Linux Server吧


    據說也可以從HiNet的小烏龜上面去設定讓外部來的連入連線,可以直接穿透進某一個內網IP,這部分就等高手來指導了,我這裡就先到此為止了。

    然後,我們當然是希望開機之後就能直接啟動PPPOE連線,所以我選擇編輯/etc/rc.d/rc.local,用來指示電腦在開機時順便執行這些程序。這樣以後我們開機之後就能自動啟動PPPOE的固定IP連線了。以下是我新增的內容:

    # startup PPPOE
    pppoe-start
    # set default route to ppp0 (use PPPOE network)
    route add default ppp0



  • SVN架設和Repository搬運

    對於一個一直用NB在開發遊戲的人來說,NB的好處是不斷電(最近剛好常停電,高雄興達電廠撐住啊!),但壞處就是螢幕小,硬碟容量也小。在我架Server的時候,我NB裡面的SVN Repository已經高達80GB,而可用容量已經只剩10GB,我連做個更新影片給粉絲看都很難。更何況我的下一案是大案,這硬碟空間很明顯扛不住啊!這也是為什麼明明工作這麼忙的情況下又要割出一段時間來架Server的原因。

    不像PPPOE,不論SVN的架設或Repository的搬運,都意外的順利。我以為我會用chmod用到死,沒想到Windows版的SVN有偷偷幫你保留了Linux Filesystem的權限特性,我是真的不知道他是怎麼做到的。讓我完全無痛整個Repository搬過去。權限完整無需做任何更動。那這裡我就簡單說一下我的SVN的路經結構。


    在灌Linux時就已經有分割一個資料用的磁碟/dev/sda2,並掛載在/DataDisk下。而這個目錄下就是我放SVN Repository的地方,一共有兩個分別是
    /DataDisk/SVNROOT
    /DataDisk/SVNROOT2

    後面也show了一段,我用來備份/DataDisk/SVNROOT2的shell script。平常每月初都會去執行,然後把備份的檔案加上日期之後,copy到備份外接磁碟機。

    因為SVN的用戶資料都是在各別的Repository內,所以從Windows系統搬過來之後,要記得去裡面新增一些使用者的資料。畢竟以前都LOCAL存取,沒有建立使用者資料,至於這部分的設定我日後有空再補充。再來就是啟動SVN Server就大功告成了。

    svnserve -d -r /DataDisk/ --log-file=/var/log/svnserve.log

    同樣地,如果要在開機自動執行的話,就把這行指令加入/etc/rc.d/rc.local即可。



    192.168.1.102是那台Linux Server的eth0內網IP,因為不能給大家知道外網IP,所以才用內網,但其實改成外網IP也是能正常運作喔。

    架完SVN Server之後,因為龐大的SVN Repository已經搬到Server上,我的NB容量一下子又多了80GB,潮爽der。
    -----
  • X-Window與遠端X-Window

    其實會用Linux架站的人,不太用X-Window,包括我自己。而Slackware一般來說是工程師級在用的發行版本,所以基本上也不會幫你開機就進入X-Window,當然如果你還是很想開機就進入X-Window,只要調整開機要進入的Run-Level就可以了。至少先記得Run-Level這個keyword,Google查一下就能得到很多資訊了。

    畢竟圖形介面對一般使用者比較有親和力。不過在啟動遠端X-Window之前,最好先在Server本機試試本機是不是能正確啟動X-Window,如果不行要先排除這個問題。

    這裡Slackware最新整合的X-Window是FCE,標誌是一隻小老鼠,啟動指令為:

    startxfce4

    確認完本機,就可以來玩玩遠端的X-Window了。首先要先確認sshd的設定檔/etc/ssh/sshd_config內有這三樣設定,沒有的話就改一改重新開機。


    接著,我們需要在微軟Windows裡安裝的是Xming (https://sourceforge.net/projects/xming/),裝完之後可以先執行XLaunch並開one-Window:


    然後開Putty設定接收X11 forwarding的資料,如圖:


    然後一樣ssh遠端登入之後,用指令startxfce4啟動X-Window,這時畫面就會跑到Xming裡面了,很簡單吧!
架站備忘就記錄到這裡,從以前學生時代用的第7版,直接跳到14.2版,真的改了很多東西。還好自己以前底子紮得夠穩,沒有花太多時間。也因為架了站。以後可以處理的事情就變多了,像之前要寄遊戲序號給Patreon一定額度的支持者,一共200多封信。當時沒有Server,還真的硬著頭皮一封封寄出,寄了兩天,中英日文都有。哈哈哈。這種苦差事以後就交給Linux惹!還有我下一案就是合作案了,有了Server終於能多人開發了。總之有Server就是秋,感覺人生都進入另一個坎了。潮爽der!!!!

引用網址:https://home.gamer.com.tw/TrackBack.php?sn=5158223
All rights reserved. 版權所有,保留一切權利

相關創作

同標籤作品搜尋:Linux|Server|X-Window|Subversion|SVN|PPPOE

留言共 1 篇留言

tensun3d
我也是那個一封封慢慢寄的, 我就爛 ヽ(́◕◞౪◟◕‵)ノ

05-25 14:58

Hajime
一封封寄的話,還會暴露自己的Email,這些問題都可以在有Server時順利解決掉。不過以後會不會有送KEY的活動不好說,畢竟成效不彰。05-25 23:28
我要留言提醒:您尚未登入,請先登入再留言

2喜歡★ultimagic 可決定是否刪除您的留言,請勿發表違反站規文字。

前一篇:【進度報告】NoahGa... 後一篇:日本に大感謝、最速救援あ...

追蹤私訊切換新版閱覽

作品資料夾

ShuLongQinHu大家
嘔心瀝血畫到差點隊葬的新圖熱騰騰貼小屋囉~歡迎來看看!看更多我要大聲說昨天10:27


face基於日前微軟官方表示 Internet Explorer 不再支援新的網路標準,可能無法使用新的應用程式來呈現網站內容,在瀏覽器支援度及網站安全性的雙重考量下,為了讓巴友們有更好的使用體驗,巴哈姆特即將於 2019年9月2日 停止支援 Internet Explorer 瀏覽器的頁面呈現和功能。
屆時建議您使用下述瀏覽器來瀏覽巴哈姆特:
。Google Chrome(推薦)
。Mozilla Firefox
。Microsoft Edge(Windows10以上的作業系統版本才可使用)

face我們了解您不想看到廣告的心情⋯ 若您願意支持巴哈姆特永續經營,請將 gamer.com.tw 加入廣告阻擋工具的白名單中,謝謝 !【教學】