さくらVPSにVPN Clientを入れて家のLANにVPNで繋ぐ。ポートフォワードで家のサーバーに転送する。iptableでやろうと思ったけどまるでうまくいかない。既成のルーターなら5秒でできるだろこんなん。。。。
ポートフォワード イメージ
クライアントがさくらVPSの80ポートに接続したときに、192.168.0.3:80に転送する。
+-----------+
| ClientPC |
+-----------+
| internet
|
|
|
ens3 | xxx.yyy.zzz.aaa:80 ( zone:external)
+-----------+
|さくらVPS | *今回設定するさくらVPS (Ubuntu20.04)
+-----------+
vpn-vpn | 192.168.0.62 ( zone:internal )
|
|
|
| 192.168.0.3:80
+-----------+
| WebServer |
+-----------+
NICが所属するゾーンの設定
# firewall-cmd --zone=external --change-interface=ens3 --permanent The interface is under control of NetworkManager, setting zone to 'external'. success # firewall-cmd --zone=internal --change-interface=vpn-vpn --permanent The interface is under control of NetworkManager, setting zone to 'internal'. success # firewall-cmd --reload success # firewall-cmd --get-active-zone internal interfaces: ens3 external interfaces: vpn-vpn
ポートフォワード設定
クライアントがさくらVPSの80ポートに接続したときに、192.168.0.3:80に転送する。ついでに2222ポートにssh接続した通信を192.168.0.3:22に転送
# firewall-cmd --zone=external --add-forward-port=port=80:proto=tcp:toport=80:toaddr=192.168.0.3
--permanent
success
# firewall-cmd --zone=external --add-forward-port=port=2222:proto=tcp:toport=22:toaddr=192.168.0.3
--permanent
success
# firewall-cmd --list-all --zone=external
external (active)
target: default
icmp-block-inversion: no
interfaces: ens3
sources:
services: ssh
ports:
protocols:
masquerade: yes
forward-ports: port=80:proto=tcp:toport=80:toaddr=192.168.0.3
port=2222:proto=tcp:toport=22:toaddr=192.168.0.3
source-ports:
icmp-blocks:
rich rules:
マスカレード設定
externalはnoにinternalはyesに
マスカレードしないとwebでなかった。。。なーんかよくわからんのよねマスカレード。。
なにこれ。
# firewall-cmd --zone=external --query-masquerade
yes
# firewall-cmd --zone=external --remove-masquerade --permanent
success
# firewall-cmd --reload
success
# firewall-cmd --zone=external --query-masquerade
no
# firewall-cmd --zone=internal --query-masquerade
no
# firewall-cmd --zone=internal --add-masquerade --permanent
success
# firewall-cmd --reload
success
# firewall-cmd --zone=internal --query-masquerade
yes
# firewall-cmd --list-all --zone=external
external (active)
target: default
icmp-block-inversion: no
interfaces: ens3
sources:
services: ssh
ports:
protocols:
masquerade: no
forward-ports: port=80:proto=tcp:toport=80:toaddr=192.168.0.3
port=2222:proto=tcp:toport=22:toaddr=192.168.0.3
source-ports:
icmp-blocks:
rich rules:
# firewall-cmd --list-all --zone=internal
internal (active)
target: default
icmp-block-inversion: no
interfaces: vpn_vpn
sources:
services: dhcpv6-client mdns samba-client ssh
ports:
protocols:
masquerade: yes
forward-ports:
source-ports:
icmp-blocks:
rich rules:
↓を参考に

コメント