1994 1995 1996 1997 1998 1999 2000 2001 2002 2003 2004 2005 2006 2007 2008 2009 2010 2011 2012 2013 2014 2015 2016 2017 2018 <2019> 2020 2021 2022 2023 2024 2025 | Index | 1994 1995 1996 1997 1998 1999 2000 2001 2002 2003 2004 2005 2006 2007 2008 2009 2010 2011 2012 2013 2014 2015 2016 2017 2018 <2019> 2020 2021 2022 2023 2024 2025 |
<== Date ==> | <== Thread ==> |
---|
Subject: | Re: Accessing IOC on different subnet |
From: | "Johnson, Andrew N. via Tech-talk" <[email protected]> |
To: | "Bhavna N. Merh" <[email protected]> |
Cc: | "[email protected]" <[email protected]> |
Date: | Wed, 27 Nov 2019 18:31:24 +0000 |
Hi, On 11/27/19 3:59 AM, Bhavna N. Merh via Tech-talk wrote:
For windows PC-Is the IP address of the Windows PC 192.168.1.25 or 192.168.1.23? Your earlier email said: B and C are on another subnet (IP addr: 192.168.1.23 and 192.168.1.25)which I take to mean that B is 192.168.1.23 and C is 192.168.1.25. If that is the case, setting EPICS_CA_ADDR_LIST=192.168.1.25 on C tells it "only look for PVs on IOCs that are running on this PC". If the addresses of B and C on that subnet are actually the other way around, my addresses below are similarly wrong. For CentOS PC-An IOC running on the CentOS PC ("B") that has EPICS_CAS_INTF_ADDR_LIST set to localhost will only listen to CA clients also running on localhost (i.e. on the same machine). You can run the following command on the IOC to see what addresses the server is using. Your output probably looks like this, which is what I get by copying your setting: epics> casr 1That shows the CA server is only listening for PV searches on the internal-only network interface. For the IOC to be accessible from other machines, it would need to look like this (by setting EPICS_CAS_INTF_ADDR_LIST="192.168.1.23"): epics> casr 1 or this (by setting EPICS_CAS_INTF_ADDR_LIST="localhost 192.168.1.23"): epics> casr 1 but with the simplest configuration (don't set EPICS_CAS_INTF_ADDR_LIST at all) it would look like this: epics> casr 1In this case it will listen for connections from every subnet that B has an interface to and will accept connections from clients running on any other machine in any of those subnets, as long as those clients actually send it search requests. The simplest way to configure your client machines is to not set any of the EPICS_CA environment variables at all, in which case they will be able to connect to any IOC on their own subnet. If they need to connect to an IOC that is in a different subnet you would have to set EPICS_CA_ADDR_LIST to the IP address of that IOC, but I don't recommend setting EPICS_CA_AUTO_ADDR_LIST=NO as this prevents the Channel Access client library from using its interface discovery mechanism to find IOCs on the local subnets. You're telling it "I know exactly how my network is configured, follow my instructions exactly and don't try to be smart." If you don't really understand how to configure the settings properly it's much better to not set anything, just let the discovery mechanism work them out for you. - Andrew -Bhavna -- Complexity comes for free, Simplicity you have to work for. |