LoginSignup
0
0

More than 3 years have passed since last update.

transproxy 構築メモ

Last updated at Posted at 2020-02-26

前回の構築のリプレース。

Raspbian Buster Lite を balenaEtcher で書き込む

root に ssh という空ファイルを置く

Downstream 側用に USB ethernet dongle を追加する

apt-get dist-upgrade -y

apt-get install しておく

  • firmware-linux-free : USB ethernet dongle のため
  • iptables-persistent : nat rule を保存したい
  • dnsmasq : Downstream 向け
  • screen : 作業用

raspbian では最終的には dhcpcd の制御下にあるので、dhcpcd で eth1 を static 割り当てにする

dhcpcd.conf
interface eth1
static ip_address=192.168.0.2/24
static routers=192.168.0.2
static domain_name_servers=192.168.0.2

ip routing を有効にする

/etc/sysctl.d/98-nat.conf
net.ipv4.ip_forward=1

masquerade のルールを入れる。

iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
iptables -A FORWARD -i eth0 -o eth1 -m state --state RELATED,ESTABLISHED -j ACCEPT
iptables -A FORWARD -i eth1 -o eth0 -j ACCEPT

/etc/init.d/iptables-persistent save で保存しておく。

再起動してここまでの設定が反映されることを確認する。

golang-go をインストールして、github.com/wadahiro/go-transproxy をビルドする

systemd unit を書いて enable する

[Unit]
Description=transproxy
After=network.target

[Install]
WantedBy=multi-user.target

[Service]
Environment=http_proxy=http://proxy.server:8080
Environment=https_proxy=http://proxy.server:8080
ExecStart=/home/pi/go/bin/transproxy -private-dns 192.168.0.2 -public-dns 8.8.8.8
KillMode=process
Restart=on-failure

だめだった。IPv6->IPv4 fallback が待っていられない。DNS も透過 proxy したいという気持ちは理解した気がする。

どうしようかな。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0