我有一个防火墙 (10.8.0.1) 通过 VPN 连接到内部服务器 (10.8.0.2)。防火墙上的 VPN 接口称为tun0
。因此,在我的 shorewall 配置中,我有以下内容:
$ cat interfaces
#ZONE INTERFACE OPTIONS
- lo ignore
vpn tun+ optional
net eth+ dhcp,physical=+,routeback,optional
$ cat zones
#ZONE TYPE OPTIONS IN OUT
# OPTIONS OPTIONS
fw firewall
vpn ipv4
net ip
$ cat policy
#SOURCE DEST POLICY LOG LIMIT: CONNLIMIT:
# LEVEL BURST MASK
$FW net ACCEPT
$FW vpn ACCEPT
vpn all ACCEPT
net all DROP info
现在我想将来自公网的所有到防火墙 TCP 端口 2222 的流量转发到内部服务器端口 22。因此我添加了以下两行:
$ cat rules
ACCEPT net $FW tcp 2222
DNAT net vpn:10.8.0.2:22 tcp 2222
在我的shorewall.conf
文件中有以下行:
IP_FORWARDING=On
但是,这似乎不起作用。
我在这里遗漏了什么?
答案1
#
# Shorewall version 4 - Masq file
#
#INTERFACE:DEST SOURCE ADDRESS PROTO PORT(S) IPSEC MARK USER/ SWITCH
# GROUP
tun+:10.8.0.0/16 0.0.0.0/0 10.8.0.1