[Firehol-support] SNAT behaviour
Daniel L. Miller
dmiller at amfes.com
Tue Jul 19 05:55:41 BST 2005
I'm puzzled by the behaviour I'm experiencing with SNAT. I have a group
of static external IP's, that I'm trying to utilize for different
purposes. I'd like to keep the IP(s) I use for external access from my
LAN separate from the IP's I use for outside access to my internal
services. So . . .
version 5
FIREHOL_LOG_MODE="ULOG"
AMFESLAN_IF="eth0"
AMFESLAN_LAN="192.168.0.0/24"
AMFESLAN_IP="192.168.0.1"
AMFESLAN_BCAST="192.168.0.255"
AMFESEXT_IF="eth1"
AMFESEXT_LAN="67.106.235.97/27"
AMFESEXT_IP="67.106.235.126"
AMFESEXT_BCAST="67.106.235.127"
PROXY_IF="eth1"
PROXY_LAN="67.106.235.124/27"
PROXY_IP="67.106.235.124"
PROXY_BCAST="67.106.235.127"
BASTION_IP="192.168.0.2"
ROUTER_IP="192.168.0.1"
# provide Internet access for lan
snat to "${PROXY_IP}" outface "${PROXY_IF}" src "${AMFESLAN_LAN}"
# provide web services
dnat to "${BASTION_IP}" inface "${AMFESEXT_IF}" dst "${AMFESEXT_IP}"
proto tcp dport 993 log "forwarding imaps"
dnat to "${BASTION_IP}" inface "${AMFESEXT_IF}" dst "${AMFESEXT_IP}"
proto tcp dport 80 log "forwarding http"
# bittorrent re-direct to one workstation
dnat to "${DANIEL_IP}" inface "${PROXY_IF}" dst "${PROXY_IP}" proto tcp
dport 6881:6889 log "forwarding bittorrent"
dnat to "${DANIEL_IP}" inface "${AMFESEXT_IF}" dst "${AMFESEXT_IP}"
proto tcp dport 6881:6889 log "forwarding bittorrent"
# redirect for external addresses from internal network - this allows
laptops to use the published imap address in and outside the lan
snat to "${ROUTER_IP}" outface "${AMFESLAN_IF}" src "${AMFESLAN_LAN}"
dst "${BASTION_IP}" proto tcp dport 143 log "src internal
dnat to "${BASTION_IP}" inface "${AMFESLAN_IF}" dst "${AMFESEXT_IP}"
proto tcp dport 143 log "dst internal re-dir"
snat to "${ROUTER_IP}" outface "${AMFESLAN_IF}" src "${AMFESLAN_LAN}"
dst "${BASTION_IP}" proto tcp dport 993 log "src internal
dnat to "${BASTION_IP}" inface "${AMFESLAN_IF}" dst "${AMFESEXT_IP}"
proto tcp dport 993 log "dst internal re-dir"
server_bittorrent_ports="tcp/6881 tcp/6882 tcp/6883 tcp/6884 tcp/6885
tcp/6886 tcp/6887 tcp/6888 tcp/6889"
client_bittorrent_ports="default 6881 6882 6883 6884 6885 6886 6887 6888
6889"
interface "${AMFESLAN_IF}" lan src "${AMFESLAN_LAN}"
policy accept
interface "${AMFESEXT_IF}" internet src not "${UNROUTABLE_IPS}
${AMFESLAN_LAN}" dst "${AMFESEXT_IP}"
protection strong 100/sec 50
# server ident reject with tcp-reset
server smtp accept
server smtps accept
server submission accept
server dcc accept log "DCC server"
server ssh accept log "ssh"
server ntp accept
server ping accept
client all accept
interface "${PROXY_IF}" proxy src not "${UNROUTABLE_IPS}
${AMFESLAN_LAN}" dst "${PROXY_IP}"
protection strong 100/sec 50
client all accept
router lan2amfesext inface "${AMFESLAN_IF}" outface "${AMFESEXT_IF}" src
"${AMFESLAN_LAN}" dst not "${UNROUTABLE_IPS}"
route all accept
router lan2proxy inface "${AMFESLAN_IF}" outface "${PROXY_IF}" src
"${AMFESLAN_LAN}" dst not "${UNROUTABLE_IPS}"
route all accept
router proxy2lan inface "${PROXY_IF}" outface "${AMFESLAN_IF}"
route bittorrent accept
router internet2lan inface "${AMFESEXT_IF}" outface "${AMFESLAN_IF}"
protection strong 100/sec 50
# route ident reject with tcp-reset
route http accept
route imaps accept
route bittorrent accept
route fpadmin accept
route webmin accept
route firebird accept
The problem I'm having is that any client that connects to the Internet,
appears to be connecting from my "${AMFESEXT_IP}" address, instead of
the "${PROXY_IP}" address. Since the only SNAT line that references the
Internet uses the proxy address - I'm a little puzzled.
Daniel
More information about the Firehol-support
mailing list