History for Webdav_NAT
??changed:
-
**Webdav NAT Redirection to inside Firewall**
**problem**: The zope website is inside the firewall, and no-one can reach it via port 9800. Redirection via apache (or the redirector object) work fine for rendered access, but source-link access was not happening.
**Possible Solutions:** first I listed all the options I could think of (and their negative attributes in parentheses):
- use **iptables** (initially could not get it to work)
- use Apache Redirect and !ProxyPass rules (not proper Webdav protocol; uses http only)
- use Redirection product (still no source-link access)
- use !ExternalFile product and FTP (untested by me)
- find a webdav client that understands **source-link** (i have not yet found one)
- use SQUID redirecting (bypasses my carefully thought-out apache redirecting rules )
- Use ZEO to replicate the Data.fs on the firewall (and lose the different zope instance on the firewall)
- Move the zope instance to the firewall (if all else failed)
- use SSH tunnelling (works only for individuals with accounts on both machines)
- Use Apache's **!BrowserMatch "WebDAVFS" redirect-carefully** (not sure how to use that or if it applies in this case)
- install !WebdavLogger Product and study what is going on (i used tcpdump instead)
- add WEBDAV_SOURCE_PORT_CLIENTS="cadaver.*" to zope's shell environment (I did and it did not work and I would need to specify every webdav client type)
- tried webdav via regular zope port and **/document_src** (it did not save changes)
**Solution**
My favorite solution is to use **iptables** and eventually I found the correct rules::
iptables -t nat -A PREROUTING -i $OUTSIDE_IF -p tcp --dport 9800 -d DNAT --to $INSIDE_ZOPE_IP
# usual rules for MASQUERADING and allowing ESTABLISHED.RELATED connections
# from inside the LAN
iptables -A FORWARD -d $INSIDE_ZOPE_IP -p tcp --dport 9800 -j ACCEPT
The last line is what I was missing ...
**References**
- The posting that ultimately "solved my problem":http://www.spinics.net/lists/netfilter/msg14796.html