<div dir="ltr"><span style="font-size:12.8px">Hello, I have a question regarding a native FTP relay (squid's version is 3.5.23).</span><br style="font-size:12.8px"><br style="font-size:12.8px"><span style="font-size:12.8px">I've tried to test this feature like this:</span><br style="font-size:12.8px"><br style="font-size:12.8px"><span style="font-size:12.8px">[Filezilla Client, 1.1.1.2] <-----> [ Router: iptables + squid ]</span><br style="font-size:12.8px"><span style="font-size:12.8px"><-----> [vsftpd server, 5.5.5.10]</span><div><br></div><div>The router is CentOS 6.5 machine. <span style="font-size:12.8px">Firewall settings are:</span><br style="font-size:12.8px"><br style="font-size:12.8px"><span style="font-size:12.8px">ip route flush table 100</span><br style="font-size:12.8px"><span style="font-size:12.8px">ip rule add fwmark 1 lookup 100</span><br style="font-size:12.8px"><span style="font-size:12.8px">ip route add local </span><a href="http://0.0.0.0/0" target="_blank" style="font-size:12.8px">0.0.0.0/0</a><span style="font-size:12.8px"> dev lo table 100</span><br style="font-size:12.8px"><br style="font-size:12.8px"><span style="font-size:12.8px">iptables -t mangle -N DIVERT</span><br style="font-size:12.8px"><span style="font-size:12.8px">iptables -t mangle -A DIVERT -j MARK --set-mark 0x01/0x01</span><br style="font-size:12.8px"><span style="font-size:12.8px">iptables -t mangle -A DIVERT -j ACCEPT</span><br style="font-size:12.8px"><span style="font-size:12.8px">iptables -t mangle -A PREROUTING -p tcp -m socket -j DIVERT</span><br style="font-size:12.8px"><span style="font-size:12.8px">iptables -t mangle -A PREROUTING -p tcp --dport 21 -j TPROXY</span><br style="font-size:12.8px"><span style="font-size:12.8px">--tproxy-mark 0x1/0x1 --on-port 2121</span><br style="font-size:12.8px"><span style="font-size:12.8px">iptables -t mangle -A PREROUTING -p tcp --dport 80 -j TPROXY</span><br style="font-size:12.8px"><span style="font-size:12.8px">--tproxy-mark 0x1/0x1 --on-port 3128</span><br style="font-size:12.8px"><br style="font-size:12.8px"><span style="font-size:12.8px">No other rules are defined and default policy for INPUT/OUTPUT/FORWARD is ACCEPT. The rp_filter is disabled.</span><br style="font-size:12.8px"><br style="font-size:12.8px"><span style="font-size:12.8px">Squid's configuration file is attached.</span><br style="font-size:12.8px"><br style="font-size:12.8px"><span style="font-size:12.8px">With HTTP everything works fine, however FTP causes a problem. </span><span style="font-size:12.8px">A client successfully connects and authenticates, but when it tries to </span><span style="font-size:12.8px">execute LIST or RETR (when data connection should be established), </span><span style="font-size:12.8px">Filezilla says "Connection closed by server". Meanwhile squid says the following:</span></div><div><br></div><div><span style="font-size:12.8px">commBind: Cannot bind socket FD 17 to <a href="http://1.1.1.2">1.1.1.2</a>: (99) Cannot assign requested address</span></div><div><br></div><div><span style="font-size:12.8px">What can be wrong with this setup?</span><br></div></div>