Results 1 to 6 of 6

Thread: [SOLVED] Changing subnet with ZCS 5.0.13

  1. #1
    CameronSmith is offline New Member
    Join Date
    Aug 2009
    Posts
    4
    Rep Power
    5

    Default [SOLVED] Changing subnet with ZCS 5.0.13

    I have two Zimbra servers which have to deal with a new subnet, due to internal network restructuring.

    Old subnet: 192.168.0/24
    New subnet: 10.10.10.0/24

    Server 1 is Production Server, runs ZCS 4.5.8_GA_1394. The subnet switch was straightforward.

    Server 2 will be server at a new remote site (when installed there, it will have to change subnet again) which is being prepped here. It runs ZCS 5.0.13. It has been much more problematic to change. Here are the configurations I have changed already to conform to the new subnet (and, naturally, mailserver ip address):
    1. /etc/hosts
    2. DNS configuration - server FQDN now resolves correctly to its LAN address on new subnet, for local queries
    3. Jetty bind addresses: forcibly changed via ZIMBRA_DIR/jetty/etc/jetty.properties.in

    Now the problem I am still having is that in ZIMBRA_DIR/log/mailbox.log I get the following error message:
    Code:
    com.zimbra.common.service.ServiceException: system failure: Could not bind to port=7025 bindaddr=192.168.0.191 ssl=false useChannels=false
    ExceptionId:main:1249308330531:d052ecb92e6e72d7
    Code:service.FAILURE
            at com.zimbra.common.service.ServiceException.FAILURE(ServiceException.java:253)
            at com.zimbra.common.util.NetUtil.getServerSocket(NetUtil.java:72)
            at com.zimbra.common.util.NetUtil.getTcpServerSocket(NetUtil.java:40)
            at com.zimbra.cs.server.ServerConfig.getServerSocket(ServerConfig.java:110)
            at com.zimbra.cs.tcpserver.TcpServer.(TcpServer.java:46)
            at com.zimbra.cs.lmtpserver.LmtpServer.(LmtpServer.java:38)
            at com.zimbra.cs.lmtpserver.LmtpServer.startupLmtpServer(LmtpServer.java:64)
            at com.zimbra.cs.util.Zimbra.startup(Zimbra.java:212)
    This is clearly because it is using the OLD address (192.168.0.191) instead of the new one (10.10.10.191). However I simply can't figure out how to change this configuration setting!

    I have dumped LDAP and it confirms that all nodes from the domain downwards have (incorrectly) got:
    Code:
    zimbraMailTransport: lmtp:192.168.0.191:7025
    I suspect the install script put this in.

    However when I try to change this via zmprov I get the following error message, which I strongly suspect is caused by the same problem:
    Code:
    ERROR: zclient.IO_ERROR (invoke cannot determine soap protocol in reply: Error 503 SERVICE_UNAVAILABLE

    HTTP ERROR: 503

    SERVICE_UNAVAILABLE

    RequestURI=/service/admin/soap/

    Powered by jetty://

    , server: localhost) (cause: com.zimbra.common.soap.SoapParseException cannot determine soap protocol in reply: Error 503 SERVICE_UNAVAILABLE

    HTTP ERROR: 503

    SERVICE_UNAVAILABLE

    RequestURI=/service/admin/soap/

    Powered by jetty://

    )
    It seems to be a Catch-22 situation! Where/how can I configure Zimbra to use the correct address for binding to LMTP?

  2. #2
    CameronSmith is offline New Member
    Join Date
    Aug 2009
    Posts
    4
    Rep Power
    5

    Default

    Well, since no one is replying, I am trying to check out the 5.0.13 source to find the problem. However since I am not familiar with Perforce it is a RIGHT PAIN trying to get at the source. I have now spent 2.5h and I can see the file I want in the source tree, I just can't get it to check out onto my local machine so I can actually read the thing. If someone could paste here the source for LmtpServer.java that would be a great help.

  3. #3
    y@w's Avatar
    y@w
    y@w is offline Moderator
    Join Date
    Jan 2008
    Posts
    658
    Rep Power
    8

    Default

    Did you the the bind address in the config file as a troubleshooting step? Mine shows:
    Code:
    zimbraLmtpBindAddress=%%zimbraLmtpBindAddress%%
    in the .in file and:
    Code:
    zimbraLmtpBindAddress=
    in the actual config file. Changing IPs should be a trivial task as long as the /etc/hosts and DNS is updated properly..

  4. #4
    blozancic is offline Intermediate Member
    Join Date
    Aug 2008
    Posts
    21
    Rep Power
    6

    Default

    I think I had the same problem you're experiencing. I installed Zimbra at my work network and then changed the network for my client's net. When I tried to send mail I got the non-authorized sender message.
    Check out SMTP relay for localhost and RFC1918 subnets especially the zmprov command at the bottom.
    Let me know if this helps.
    cheers

  5. #5
    CameronSmith is offline New Member
    Join Date
    Aug 2009
    Posts
    4
    Rep Power
    5

    Default

    Thanks very much post #3. Meanwhile I had managed to check out the source and the problem is indeed caused by a wrong config value for zimbraLmtpBindAddress. However WHICH FILE are you referring to that I should set it in? If it is jetty.properties.in, I didn't know I could add my own values here.

    Post #4 thanks also. I will try #3 suggestion first since, as I mentioned, zmprov is also broken by this problem! And using an external tool to read LDAP, zimbraLmtpBindAddress is not set there in any entry.

  6. #6
    CameronSmith is offline New Member
    Join Date
    Aug 2009
    Posts
    4
    Rep Power
    5

    Default A fix! (not very intuitive)

    Well, after more digging around in the source code, I managed to work out a fix, based on a suggestion in this post.

    However I have written explicit instructions below in the hope that the next person with this problem doesn't have to waste so much time on it. Please read ALL the instructions before trying to apply them, just so you don't get stuck in the middle.

    Although I have now resolved my problem, I do feel rather as though I am using a hammer to crack a nut, so I will leave this thread open for a week in case anyone can point me to a more enlightened solution.


    Instructions

    Basically you need to use zmprov to alter your server's zimbraLmtpBindAddress property. HOWEVER as soon as you do this, all the OTHER bind address which previously had been happily not set (aka set to null) and apparently were happily defaulting to localhost, now cease to work, so you need to explicitly set them as well.

    In the instructions below, I have set everything to the local ip_address of the server. On a single-server install it would probably working setting to 'localhost' but I have NOT tried this - since with previous versions of Zimbra I have encountered problems using 'localhost'.
    1. Abbreviations
    server_fqdn - FQDN of your server, e.g. my-srv.yada.co.mz
    server_ip - internal IP address of your server, e.g. 10.9.8.200
    attribute - name of a specific attribute in the LDAP config node for your server, e.g. zimbraLmtpBindAddress

    2. Here are the commands you need to use for this fix.
    a. How to CHECK one of the attributes:
    Code:
     zmprov --ldap getServer server_fqdn | grep  attribute
    ...if this returns nothing then the attribute is not set at all.
    b. How to SET one of the attributes to the new IP address:
    Code:
     zmprov --ldap modifyServer server_fqdn attribute server_ip
    ...if this returns nothing then the attribute setting was successful - but you can always repeat command (a) above to make sure.

    3. The actual fix
    1. SET each of the following attributes using command (b) above, to the new IP address:
    Code:
       zimbraLmtpBindAddress
        zimbraPop3BindAddress
        zimbraPop3SSLBindAddress
        zimbraImapBindAddress
        zimbraImapSSLBindAddress
    2. STOP Zimbra
    Code:
      zmcontrol stop
    3. REMOVE old mailbox log (or move it somewhere if you want to keep it)
    Code:
    rm -f ZIMBRA_DIR/log/mailbox.log
    4. START Zimbra again
    Code:
      zmcontrol start
    5. CHECK mailbox.log to verify there are no connection errors (you may only see these after trying to USE the service in question if your zimbraXXXBindOnStartup attribute is set to FALSE (where XXX is Lmtp, Pop3 or Imap).
    Code:
    less ZIMBRA_DIR/log/mailbox.log
    ... page to the end and there should be no errors complaining "unable to bind to ...".
    6. HEY PRESTO!

Thread Information

Users Browsing this Thread

There are currently 1 users browsing this thread. (0 members and 1 guests)

Similar Threads

  1. Trouble Sending mail - All Messages deferred!
    By SiteDiscovery in forum Administrators
    Replies: 7
    Last Post: 09-03-2009, 04:52 AM
  2. Mail is being queued, not delivered!
    By icepick94 in forum Administrators
    Replies: 12
    Last Post: 01-22-2009, 07:03 AM
  3. Replies: 41
    Last Post: 10-29-2007, 02:36 PM
  4. ZCS 3.2 Beta Available
    By KevinH in forum Announcements
    Replies: 31
    Last Post: 07-07-2006, 03:46 PM
  5. MTA is Dying after yum update
    By tonyawbrey in forum Administrators
    Replies: 27
    Last Post: 04-02-2006, 06:11 PM

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •