*コマンドについての解説はありません。
必要なもの
- Raspberry pi 4(3)
- ssh接続ができるもの(windows)
環境について
ラズパイの構成
IP : 192.168.0.50
Subnetmask : 255.255.255.0
Gateway : 192.168.0.1
DNS : 192.168.0.1
Tor-Wifiの構成
IP : 192.168.114.1
Subnetmask : 255.255.255.0
DHCP IP-Range: 192.168.114.20 - 192.168.114.30
SSID : MSS_mTOR
最初にやっておくこと
最初に、NetworkManagerを無効化して、dhcpcd5を入れておきます。
NetworkManagerのサービスを停止して無効化
sudo systemctl stop NetworkManager
sudo systemctl disable NetworkManager
dhcpcd5のインストール
sudo apt install dhcpcd5
dhcpcd5の有効化
sudo systemctl start dhcpcd
sudo systemctl enable dhcpcd
インストール
raspiの更新
sudo apt-get update
sudo apt-get upgrade
hostapdのインストール
sudo apt install hostapd
IPアドレスの固定
sudo nano /etc/dhcpcd.conf
一番下に以下を張り付ける(環境によってipアドレスを変更してください)
interface eth0
static ip_address=192.168.0.50/24 #固定するIP
static routers=192.168.0.1 #ルータのIP
static domain_name_servers=8.8.8.8
interface wlan0
static ip_address=192.168.114.1/24 #Tor-wifiの固定IP
nohook wpa_supplicant
一度rebootしましょう。
ip aをすると、IPアドレスが固定したIPになっていると思います。なっていなければ、dhcpcd.confの部分がおかしいかもしれません。(私はNetworkManagerを有効化したまま構築しようとしてここで沼りました)
hostapdをunmaskする
sudo systemctl unmask hostapd
sudo systemctl enable hostapd
dnsmasqのインストール
sudo apt install dnsmasq
netfilter-persistentとiptables-persistentをインストール
sudo DEBIAN_FRONTEND=noninteractive apt install -y netfilter-persistent iptables-persistent
routed-ap.confをいじる
sudo nano /etc/sysctl.d/routed-ap.conf
このファイルに以下を書き込む。
net.ipv4.ip_forward=1
iptablesとnetfilter
sudo iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
sudo netfilter-persistent save
dnsmasq.confのリネーム
sudo mv /etc/dnsmasq.conf /etc/dnsmasq.conf.orig
dnsmasq.confをいじる
sudo nano /etc/dnsmasq.conf
dnsmasq.confに以下を張り付ける
interface=wlan0
dhcp-range=192.168.114.20,192.168.114.30,255.255.255.0,24h #DHCP経由で提供されるIPアドレスのプール
rfkillする
sudo rfkill unblock wlan
hostapd.confをいじる
sudo nano /etc/hostapd/hostapd.conf
hostapd.confに以下を書き込む。
country_code=JP
interface=wlan0
ssid=<設定したいSSID>
hw_mode=g
channel=7
macaddr_acl=0
auth_algs=1
ignore_broadcast_ssid=0
wpa=2
wpa_passphrase=<設定したいパスフレーズ>
wpa_key_mgmt=WPA-PSK
wpa_pairwise=TKIP
rsn_pairwise=CCMP
ここで再起動
torのインストール
sudo apt-get install tor
torrcをいじる
sudo nano /etc/tor/torrc
#SocksPolicy reject *の次の段に以下を張り付ける。
Log notice file /var/log/tor/notices.log
VirtualAddrNetwork 10.192.0.0/10
AutomapHostsSuffixes .onion,.exit
AutomapHostsOnResolve 1
TransPort 0.0.0.0:9040
DNSPort 0.0.0.0:53
iptablesとnetfilter
sudo iptables -t nat -A PREROUTING -i wlan0 -p tcp --dport 22 -j REDIRECT --to-ports 22
sudo iptables -t nat -A PREROUTING -i wlan0 -p udp --dport 53 -j REDIRECT --to-ports 53
sudo iptables -t nat -A PREROUTING -i wlan0 -p tcp --syn -j REDIRECT --to-ports 9040
sudo netfilter-persistent save
アクセス権の設定
sudo touch /var/log/tor/notices.log
sudo chown debian-tor /var/log/tor/notices.log
sudo chmod 644 /var/log/tor/notices.log
sudo touch /var/log/tor/debug.log
sudo chown debian-tor /var/log/tor/debug.log
sudo chmod 644 /var/log/tor/debug.log
torの有効化
sudo service tor start
sudo systemctl unmask tor
sudo systemctl enable tor
rebootする
wifi一覧に表示したくないなら
一覧に表示したくないのであれば、configに一行追加するだけで表示されなくすることができます。
hostapd.confをいじる
/etc/hostapd/hostapd.conf
以下のコードを入れるだけ。
ignore_broadcast_ssid=1
ちなみに、偽装できるのであまり意味はないですが、MACアドレスフィルタリングを使用して、特定のデバイスだけに接続を許可することもできます。
hostapd.confをいじる
/etc/hostapd/hostapd.conf
以下のコードを入れる。
macaddr_acl=1
accept_mac_file=/etc/hostapd/allowed_macs
/etc/hostapd/allowed_macsをいじる
00:80:0F:11:XX:XX
このように、MACアドレスをただ一行ずつ書いていくだけで、フィルタリングをすることができます。
後はhostapdを再起動させれば完了です。
sudo systemctl restart hostapd