NAPT
/etc/netplan/00-installer-config.yaml
# This is the network config written by 'subiquity'
network:
ethernets:
ens160:
addresses:
- 192.168.20.2/24
nameservers:
addresses: []
search: []
ens192:
addresses:
- 10.204.227.167/24
gateway4: 10.204.227.2
nameservers:
addresses:
- 10.200.70.35
search: []
version: 2
VM側
/etc/netplan/00-installer-config.yaml
network:
ethernets:
ens160:
addresses:
- 192.168.20.5/24
routes:
- to: 0.0.0.0/0
via: 192.168.128.2
nameservers:
addresses:
- 10.200.70.35
search: []
version: 2
参考にした記事 - ufwでNATとポートフォーワード -
NPT側
/etc/netplan/00-installer-config.yaml
network:
ethernets:
ens34:
dhcp4: true
ens37:
dhcp4: false
addresses: [192.168.128.1/24]
version: 2
/etc/default/ufw
- DEFAULT_FORWARD_POLICY="DROP"
+ DEFAULT_FORWARD_POLICY="ACCEPT"
追記する
/etc/ufw/sysctl.conf
net/ipv4/ip_forward=1
追記する.*filterの上に書く (外側から内側は解明できていないためコメントアウト:というより独立したネットワークなら書かない方が良さそう)
/etc/ufw/before.rules
# NAT
*nat
-F
:POSTROUTING ACCEPT [0:0]
# 内側から外側
-A POSTROUTING -s 192.168.128.0/24 -o ens34 -j MASQUERADE
# 外側から内側
#-A PREROUTING -i eth0 -d xxx.xxx.xxx.xxx -p tcp --dport 50001 -j DNAT --to-destination 192.168.50.100:22
COMMIT
$ ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever
2: ens34: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000
link/ether 00:0c:29:f2:07:e4 brd ff:ff:ff:ff:ff:ff
altname enp2s2
inet 192.168.100.120/24 metric 100 brd 192.168.100.255 scope global dynamic ens34
valid_lft 8454sec preferred_lft 8454sec
inet6 fe80::20c:29ff:fef2:7e4/64 scope link
valid_lft forever preferred_lft forever
3: ens37: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000
link/ether 00:0c:29:f2:07:ee brd ff:ff:ff:ff:ff:ff
altname enp2s5
inet 192.168.128.1/24 brd 192.168.128.255 scope global ens37
valid_lft forever preferred_lft forever
inet6 fe80::20c:29ff:fef2:7ee/64 scope link
valid_lft forever preferred_lft forever
VM側
/etc/netplan/00-installer-config.yaml
network:
ethernets:
ens34:
addresses:
- 192.168.128.5/24
routes:
- to: 0.0.0.0/0
via: 192.168.128.1
nameservers:
addresses: [8.8.8.8, 8.8.4.4]
search: []
version: 2
$ ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever
2: ens34: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000
link/ether 00:0c:29:3b:e4:00 brd ff:ff:ff:ff:ff:ff
altname enp2s2
inet 192.168.128.5/24 brd 192.168.128.255 scope global ens34
valid_lft forever preferred_lft forever
inet6 fe80::20c:29ff:fe3b:e400/64 scope link
valid_lft forever preferred_lft forever