Forum: Cfengine Help Subject: Re: Cfengine3 binds to wrong interface when having multiple interfaces Author: berntjernberg Link to topic: https://cfengine.com/forum/read.php?3,22186,22683#msg-22683
Hi all, Consider this ifconfig-printout from a Solaris 10 ldom. The hosts primary interface ($(sys.host)) is e1000g1:1. How can I dynamically bind to it without hard coding all hosts ip addresses? lo0: flags=2001000849 mtu 8232 index 1 inet XXX.XXX.XXX.XXX netmask xxxxxxxx lo0:1: flags=2001000849 mtu 8232 index 1 zone a-zonename inet XXX.XXX.XXX.XXX netmask xxxxxxxx lo0:2: flags=2001000849 mtu 8232 index 1 zone a-zonename inet XXX.XXX.XXX.XXX netmask xxxxxxxx lo0:3: flags=2001000849 mtu 8232 index 1 zone a-zonename inet XXX.XXX.XXX.XXX netmask xxxxxxxx lo0:4: flags=2001000849 mtu 8232 index 1 zone a-zonename inet XXX.XXX.XXX.XXX netmask xxxxxxxx e1000g0: flags=1000843 mtu 1500 index 2 inet XXX.XXX.XXX.XXX netmask xxxxxxxx broadcast XXX.XXX.XXX.XXX e1000g0:1: flags=1000843 mtu 1500 index 2 zone a-zonename inet XXX.XXX.XXX.XXX netmask xxxxxxxx broadcast XXX.XXX.XXX.XXX e1000g0:2: flags=1000843 mtu 1500 index 2 zone a-zonename inet XXX.XXX.XXX.XXX netmask xxxxxxxx broadcast XXX.XXX.XXX.XXX e1000g0:3: flags=1000843 mtu 1500 index 2 zone a-zonename inet XXX.XXX.XXX.XXX netmask xxxxxxxx broadcast XXX.XXX.XXX.XXX e1000g1: flags=1000843 mtu 1500 index 3 inet XXX.XXX.XXX.XXX netmask xxxxxxxx broadcast XXX.XXX.XXX.XXX groupname ipmp0 e1000g1:1: flags=9040843 mtu 1500 index 3 inet XXX.XXX.XXX.XXX netmask xxxxxxxx broadcast XXX.XXX.XXX.XXX e1000g1:2: flags=1000843 mtu 1500 index 3 zone a-zonename inet XXX.XXX.XXX.XXX netmask xxxxxxxx broadcast XXX.XXX.XXX.XXX e1000g1:3: flags=1000843 mtu 1500 index 3 zone a-zonename inet XXX.XXX.XXX.XXX netmask xxxxxxxx broadcast XXX.XXX.XXX.XXX e1000g1:4: flags=1000843 mtu 1500 index 3 zone a-zonename inet XXX.XXX.XXX.XXX netmask xxxxxxxx broadcast XXX.XXX.XXX.XXX e1000g1:5: flags=1000843 mtu 1500 index 3 zone a-zonename inet XXX.XXX.XXX.XXX netmask xxxxxxxx broadcast XXX.XXX.XXX.XXX e1000g1:6: flags=1000843 mtu 1500 index 3 zone a-zonename inet XXX.XXX.XXX.XXX netmask xxxxxxxx broadcast XXX.XXX.XXX.XXX igb0: flags=1000802 mtu 1500 index 4 inet XXX.XXX.XXX.XXX netmask 0 igb1: flags=39040802 mtu 1500 index 5 inet XXX.XXX.XXX.XXX netmask xxxxxxxx broadcast XXX.XXX.XXX.XXX groupname ipmp0 I tried this in my site.cf bundle common g { vars: any:: "my_ip" string => host2ip("$(sys.fqhost)"); } and then in promises.cf: body agent control { any:: bindtointerface => "$(g.my_ip)"; .... } Code wise this works but the variable seem to be interpolated after bindtointerface is used. Mail send from multi homed hosts have the first interface Cfengine finds in the subject. In this case e1000g0. How can I dynamically bind to e1000g1:1 without hard coding all hosts ipaddresses? _______________________________________________ Help-cfengine mailing list Help-cfengine@cfengine.org https://cfengine.org/mailman/listinfo/help-cfengine