返回

一起來吃樹莓派 - 弱網學習

如何安裝樹莓派

  • 先到官網 下載安裝檔

  • 將SD卡插入電腦,並開啟剛下載完的安裝檔,將OS寫入SD卡

要如何在未連接螢幕的情況下連接樹莓派

  • 首先在寫入完SD卡後,先不要把SD卡插入樹莓派
  • 先在剛剛寫入完的樹莓派os裡創建ssh、wpa_supplicant.conf
# mac照著以下步驟即可
cd \Volumes\boot

# 創建wpa_supplicant.conf
touch wpa_supplicant.conf

# 然後wpa_supplicant.conf裡面內容新增以下
ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev
update_config=1
country=<兩碼國家碼>

network={
 ssid="<Name of your wireless LAN>"
 psk="<Password for your wireless LAN>"
}

# 創建ssh
touch ssh
  • 新增完之後再將SD卡插入樹莓派開機
  • 等待樹莓派開機完成
# How to find pi ip address?
# ping raspberrypi.local
ssh pi@ip.address
pi default password: raspberry

# How do you do if forgot password
cd /etc/raspap
rm -rf raspap.auth

Iptables

Network

  • POSTROUTING: 在修改來源 IP
  • PREROUTING: 在修改目標 IP
  • SNAT(Source NAT): 修改封包表頭的『來源』項目
    • 目的: 讓內部機器網路可以連接到外部網路
  • DNAT(Destination NAT): 修改封包表頭的『目標』項目
    • 目的: 讓外部網路可以存取內部網路機器

固定IP

sudo nano /etc/dhcpcd.conf

interface eth0  #有線網路
static ip_address=192.168.1.35
static routers=192.168.1.1
static domain_name_servers=192.168.1.1
interface wlan0 #無線網路
static ip_address=192.168.1.35         #想改成的ip地址,可自訂
static routers=192.168.0.1             #無線基地台地址
static domain_name_servers=192.168.0.1 #無線基地台地址

網路指令

  • route
觀察的參數:
   -n  :不要使用通訊協定或主機名稱,直接使用 IP 或 port number;
   -ee :使用更詳細的資訊來顯示
增加 (add) 與刪除 (del) 路由的相關參數:
   -net    :表示後面接的路由為一個網域;
   -host   :表示後面接的為連接到單部主機的路由;
   netmask :與網域有關,可以設定 netmask 決定網域的大小;
   gw      :gateway 的簡寫,後續接的是 IP 的數值喔,與 dev 不同;
   dev     :如果只是要指定由那一塊網路卡連線出去,則使用這個設定,後面接 eth0 等

Destination, Genmask:這兩個玩意兒就是分別是 network 與 netmask 啦!所以這兩個咚咚就組合成為一個完整的網域囉!

Gateway:該網域是通過哪個 gateway 連接出去的?如果顯示 0.0.0.0 表示該路由是直接由本機傳送,亦即可以透過區域網路的 MAC 直接傳訊;如果有顯示 IP 的話,表示該路由需要經過路由器 (通訊閘) 的幫忙才能夠傳送出去。

Flags:總共有多個旗標,代表的意義如下:
	U (route is up):該路由是啟動的;
	H (target is a host):目標是一部主機 (IP) 而非網域;
	G (use gateway):需要透過外部的主機 (gateway) 來轉遞封包;
	R (reinstate route for dynamic routing):使用動態路由時,恢復路由資訊的旗標;
	D (dynamically installed by daemon or redirect):已經由服務或轉 port 功能設定為動態路由
	M (modified from routing daemon or redirect):路由已經被修改了;
	! (reject route):這個路由將不會被接受(用來抵擋不安全的網域!)

Iface:這個路由傳遞封包的介面。
  • ip route
選項與參數:
show :單純的顯示出路由表,也可以使用 list ;
add|del :增加 (add) 或刪除 (del) 路由的意思。
    IP或網域:可使用 192.168.50.0/24 之類的網域或者是單純的 IP ;
    via     :從那個 gateway 出去,不一定需要;
    dev     :由那個裝置連出去,這就需要了!
    mtu     :可以額外的設定 MTU 的數值喔!

proto:此路由的路由協定,主要有 redirect, kernel, boot, static, ra 等, 其中 kernel 指的是直接由核心判斷自動設定。
scope:路由的範圍,主要是 link ,亦即是與本裝置有關的直接連線。

實作

  • 構想三個網段
    • 第一個網段: 192.168.0.1 → AP網段 = 內網
    • 第二個網段: 192.168.1.1 → Pi eth0
    • 第三個網段: 192.168.100.1 → Pi wlan0 = manager nerwork
  • 先將樹莓派eth0 IP設定成固定(192.168.1.1)
  • 內網gateway設定成192.168.0.1
  • 192.168.0.1 轉發 192.168.1.1
  • 192.168.1.1 轉發 192.168.100.1
  • DLink設置網際網路IP 192.168.1.2 gateway 192.168.1.1
comments powered by Disqus