This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

Sophos UTM 9 Home edition

Hello everyone,

I have downloaded the ISO for the home edition. I created a VM on Parallels and install the ISO.

I gave ETH0: external and ETH1: internal
ETH0 is normal network connection behind my ISP's router
ETH1 is Private (Shared) network

I am having the following issues:

1) Even though the ETH0 is external, 4444 is still responding, while it shouldn't
2) ETH0 and ETH1 have exactly the same open ports (25, 465, 4444)
3) I have behind the ETH1 a web server which i wanted to NAT so 
i) I went to Network Protection >> NAT >> NAT
ii) Created a new DNAT with:
a) Traffic from ANY
b) Service HTTP
c) Going to External (WAN) Address (of the ETH0)
d) Action change destination to Web Server (Object i created)
e) Service HTTP
f) Checked Create Automatic Firewall Rule
iii) Saved and activated
4) Then I tried to connect to it and did not work. I checked the Firewall Log but it doesn't say anything useful
5) I tried to NMAP to it but the results were the same as in (2) and no port 80.

What am I doing wrong here?


This thread was automatically locked due to age.
  • First and foremost, we ask that you only post one issue per thread going forward.

    1) Even though the ETH0 is external, 4444 is still responding, while it shouldn't
    What is in Allowed Networks at Management > WebAdmin Settings > General?

    2) ETH0 and ETH1 have exactly the same open ports (25, 465, 4444)
    25 and 465 are the SMTP proxy and 4444 is for Webadmin.

    a) Traffic from ANY
    b) Service HTTP
    c) Going to External (WAN) Address (of the ETH0)
    d) Action change destination to Web Server (Object i created)
    e) Service HTTP
    f) Checked Create Automatic Firewall Rule
    Close.  Generally speaking, if the UTM is connected directly to your internet (Does the UTM WAN get an external address from your ISP or are you double natting?), you want Traffic From to be the Internet definition object.  Under Action, leave Service to blank, unless you are doing port translation.  In the DNAT rule, under Advanced, tick the box for log initial packets.  

    You are testing this from external, right?  A connection to your external (WAN) address will not work from internal networks with a DNAT.  When you created the host definition for your Web Server, did you change the Interface setting under Advanced?
  • Hi Scott,

    I apologise for posting two issues.

    1) You were right. Fixed and working fine now
    2) ISP --> ISP Router --> ETH0-Sophos (DMZ)-ETH1 --> Internal Network

    So yes i am double natting here, it is true. However, I have a machine on the same segment as the Sophos. So I would expect to see that there, not from the WAN. In the interfaces & routing >> interfaces i have the ETH0 as "Ethernet" and the same for ETH1

    In the object Web Server, i had left the interface to >
  • Yes, it should work from a machines on the same segment as eth0.  After enabling log initial packets in the DNAT and removing Action Service, do you see connection attempts in the firewall log?
  • So the firewall says:

    10:09:05 NAT rule #1 TCP x.x.x.x (laptop on DMZ): 59070 → x.x.x.x(sophos on DMZ):80 [SYN] len=64 ttl=64 tos=0x00 srcmac=x:x:x:x:x:x dstmac=x:x:x:x:x:x (sophos eth0)

    The whole thing it is NOT in red colour which is good. It shows that it allows it listen to it. I also turned off any firewall on any of the servers on the other side, just to be on the safe side [:)]

    My NAT rule:

    DNAT
    Traffic selector: Any → HTTP → External (WAN) (Address)
    Destination translation: Web Server
    Automatic Firewall rule: YES
    Initial packets are logged: YES

    And my masquerading rule is:

    Internal (Network) → External (WAN)

    Am i missing something?
  • Morning,

    Are you testing the DNAT from a PC that is on the Internal Network (ETH1) side of the UTM? Or on the External/ISP side (ETH0)?

    If the testing device in on the internal side of the UTM, a regular DNAT rule will not work, you'll need a Full NAT rule. Reason a DNAT won't work is because it only changes the destination IP, not the source. So when the server responds, it sees the IP of the client/source PC is on the same network so forwards it directly back. The PC is expecting a reply from the WAN IP, not the server directly, so ignores the response. Full NAT on the other hand, would also change the source IP to the UTM's LAN IP so the responding server forwards it back to UTM, and onto the source PC, making everyone happy.
  • I am actually having a machine on the DMZ and the test is towards the ether. I want to be able to access my web server from the DMZ while Sophos is in between.
  • Hello,

    I would like to add something. I did a Support >> Tools >> Ping towards the host that i have NATed and when i use the External interface won't ping (which is normal) and when i use the internal, it will (which is also normal).

    I am not sure how this could be useful but i have a feeling there is something wrong in the configuration.

    Could someone maybe have any ideas?
  • I also tried 

    Full NAT
    Traffic selector: Any → SSH → External (WAN) (Address)
    Source translation: Internal (Address) SSH
    Destination translation: Server SSH
    Automatic Firewall rule: Yes
    Initial packets are logged: Yes

    The firewall log responds:

    08:22:01 NAT rule #3 TCP dmz ip client: 49771→dmz ip sophos:22 [SYN] len=64 ttl=64 tos=0x00 srcmac=*** dstmac=***
    08:22:01 NAT rule #3 TCP dmz ip client: 49771→internal ip server:22 [SYN] len=64 ttl=63 tos=0x00 srcmac=***xx

    Shouldn't i be able to see the host replying in this firewall log?
  • Use TCPDump from the shell to see all traffic.
  • I used: tcpdump -veni eth1 host x.x.x.x (web server behind sophos)

    I got this:

    20:28:24.195356 internal mac > web server mac, ethertype IPv4 (0x0800), length 78: (tos 0x0, ttl 63, id 49825, offset 0, flags [DF], proto TCP (6), length 64)
        dmz.system.55944 > web.server.ip.80: Flags [S], cksum 0xacae (correct), seq 675711226, win 65535, options [mss 1460,nop,wscale 5,nop,nop,TS val 449523412 ecr 0,sackOK,eol], length 0
    20:28:24.195607 web.server.mac > unknown.mac.address.NOT.on.my.network, ethertype IPv4 (0x0800), length 74: (tos 0x0, ttl 64, id 0, offset 0, flags [DF], proto TCP (6), length 60)
        ip.address.of.web.server.80 > system.in.dmz.that.initiated.the.connection.55944: Flags [S.], cksum 0xb4c4 (incorrect -> 0x891e), seq 804492123, ack 675711227, win 28960, options [mss 1460,sackOK,TS val 196624 ecr 449523412,nop,wscale 7], length 0
    20:28:24.195632 unknown.mac.address.NOT.on.my.network > mac.address.of.web.server, ethertype IPv4 (0x0800), length 54: (tos 0x0, ttl 128, id 59195, offset 0, flags [none], proto TCP (6), length 40)
        system.in.dmz.that.initiated.the.connection.55944 > web.server.80: Flags [R], cksum 0x8be0 (correct), seq 675711227, win 8192, length 0

    I don't understand why it sends the request to an unknown system