I set up a digital Ocean droplet with 10.3-zfs, installed iocage and copied in an working 10.3 jail that has nginx already setup. The jails IP is assigned to tap0 and I am trying to use IPFW+NAT to create a stateful firewall to allow the jail limited external access. With SSL off there is no problem, but as soon as I turn it on the connection drops causeing errors:
curl: Unknown SSL protocol error in connection
nginx: peer closed connection in SSL handshake (13: Permission denied)
Looks as if the firewall startd blocking the connection after part of the SSL handshake has take place.
Here is the IPFW configuration
Can anyone see what is wrong/missing in the above rule set?
Or point me to some example of using the ipfw nat command as there seems to be very little information about using this method; most examples I found use natd.
It is only nginx+ssl that has the problem, the
For the present I just switched to using pf which does not appear to have this problem.
curl: Unknown SSL protocol error in connection
nginx: peer closed connection in SSL handshake (13: Permission denied)
Looks as if the firewall startd blocking the connection after part of the SSL handshake has take place.
Here is the IPFW configuration
Code:
00020 allow ip from any to any via lo0
00021 allow ip from any to any via tap0
00900 nat 100 ip from any to me in
01000 check-state
01010 skipto 20000 tcp from any to me dst-port 7443 via vtnet0 in setup keep-state
01020 skipto 20000 tcp from any to any via vtnet0 out setup keep-state
01021 skipto 20000 udp from any to any via vtnet0 out keep-state
01050 allow tcp from any to any established
01100 allow udp from any to any established
02000 allow ip from any to any out keep-state
02050 allow ip6 from any to any out keep-state
02100 allow ipv6-icmp from any to any keep-state
02150 allow icmp from any to any keep-state
10000 allow tcp from any to any dst-port 22 in keep-state
19999 deny log ip from any to any
20000 nat 100 ip from any to any via vtnet0 out
29999 allow ip from any to any
64000 deny log ip from any to any
65535 deny ip from any to any
ipfw nat 100 config if vtnet0 unreg_only reset redirect_port tcp 172.20.76.201:7443 7443
Code:
# /etc/sysctl.conf
net.inet.ip.fw.one_pass=0
Can anyone see what is wrong/missing in the above rule set?
Or point me to some example of using the ipfw nat command as there seems to be very little information about using this method; most examples I found use natd.
It is only nginx+ssl that has the problem, the
openssl s_server
works in the jail without problems.For the present I just switched to using pf which does not appear to have this problem.