mac單網卡多IP配置以及靜態路由設置,重啟自動添加腳本


首先介紹下網絡結構,有多網段的童鞋可以參考

外網:無線 192.168.1/24
內網-本地局域網:10.10.4/24 可上公網
內網-OA(辦公):192.168.0/24 從一台雙網卡PC共享出來
本地局域網及OA雙網卡機器全部接在一台交換機上,即有兩個內網網段

下面是ML的單網卡多IP配置:(本人RMBP用的是Thunderbolt Ethernet)
1、添加多個位置
【系統偏好設置】-【網絡】-【位置】-下拉菜單【編輯位置】-左下角【+】-【名稱】(本人設置為:單位)-完成

2、添加多IP
還是在網絡設置-位置選【單位】-左下角【+】-接口選【Thunderbolt Ethernet】-服務名稱自行編輯(本人設置為:OA)-創建
<ignore_js_op>


3、設置IP
【Thunderbolt Ethernet】:IPv4:手動 IP地址:10.10.4.x 掩碼:255.255.255.0 路由器:10.10.4.1 DNS:不出公網無需配置
【OA】:IPv4:手動 IP地址:192.168.0.x 掩碼:255.255.255.0 路由器:192.168.0.1 DNS:不出公網無需配置
【Wi-Fi】:IPv4:手動 IP地址:192.168.1.x 掩碼:255.255.255.0 路由器:192.168.1.1 DNS:公網DNS
<ignore_js_op>

<ignore_js_op>

<ignore_js_op>
   

4、設置HOSTS文件
由於OA網段是一台雙網卡PC共享的,無法進行DNS,好在OA的網址不多,全部寫入HOSTS文件
打開【Finder】-前往【前往文件夾...】--【/etc】
編輯HOSTS文件:
# 注釋
10.1.x.x        xxx.xxx.xx
10.9.x.x        xxx.xxx.xxx
10.221.x.x    xxx.xxx.xxx
# Mail 服務器
172.x.x.x      mail.x.x
修改HOSTS涉及到權限,可用多種方法自行處理

5、設置路由
由於在HOSTS中設置了4個網段都要訪問OA,所以需要添加4條靜態路由指向OA網段,即192.168.0.1
手工添加命令如下:
route -n add -net 10.1.0.0/16 192.168.0.1
route -n add -net 10.9.0.0/16 192.168.0.1
route -n add -net 10.221.0.0/16 192.168.0.1
route -n add -net 172.x.x.x/32 192.168.0.1
ML中添加路由需要root權限,可以sudo,也可以開啟root用戶

6、制作重啟自動添加登錄腳本
搜索論壇及度娘,發現寫到過一種在【資源庫】-【startupitems】下添加腳本的方式實現每次重啟自動添加的方法,但是在ML中測試無效,可能是由於權限的問題,上面提到ML中添加路由需要root權限,但啟動項只帶登錄用戶的權限,所以無法添加。
但是總是有辦法的,好在MAC OS X自帶了【Automator】工具,下面就介紹下怎樣使用【Automator】實現重啟自動添加路由
打開【launchpad】-【其他】-【Automator】
選取文稿類型:應用程序
左邊點選【資源庫】-【實用工具】
列表中選取【運行AppleScript】
<ignore_js_op>
 

右邊的腳本框中如下編輯腳本:
on run {input, parameters}
    
    do shell script &quot;route -n add -net 10.1.0.0/16 192.168.0.1&quot; user name &quot;你登陸系統的用戶名&quot; password &quot;你登陸系統的密碼&quot; with administrator privileges
    do shell script &quot;route -n add -net 10.9.0.0/16 192.168.0.1&quot; user name &quot;你登陸系統的用戶名&quot; password &quot;你登陸系統的密碼&quot; with administrator privileges
    do shell script &quot;route -n add -net 10.221.0.0/16 192.168.0.1&quot; user name&quot;你登陸系統的用戶名&quot; password &quot;你登陸系統的密碼&quot; with administrator privileges
    do shell script &quot;route -n add -net 172.x.x.x/32 192.168.0.1&quot; user name &quot;你登陸系統的用戶名&quot; password &quot;你登陸系統的密碼&quot; with administrator privileges

    return input
end run
然后保存為OA_Route.app
<ignore_js_op>
  
最后,打開【系統偏好設置】-【用戶與群組】-選【登錄項】,將剛才保存的OA_Route.app拖到列表中,並勾選隱藏
<ignore_js_op>

重啟,打開終端,輸入netstat -rn 看看是不是已經自動添加了呢~
<ignore_js_op>


已補圖!
另外多網絡環境下存在多個default路由,在【網絡偏好設置】-點左下方【齒輪】-【服務順序設置】,排序后,即可按照排序的順序優先選擇默認路由!
如上圖我把Wi-Fi排在第一,查看路由時,192.168.1.1就優先於10.10.4.1~


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM