tor relay confused when binding interface secondary IP address
Relay advertises primary IP on interface despite proper configuration for secondary IP. ``` /etc/sysconfig/network-scripts/ifcfg-ethX ========================================= DEVICE=ethX ONBOOT=yes BOOTPROTO=static IPADDR=10.10.10.156 NETMASK=255.255.255.0 /etc/iproute2/rt_tables # add line ======================= 14 tor /etc/rc.d/init.d/network # modification ======================== # Local network adjustments. apply_netlocal() { # Secondary IPs and subnets. #ip addr add 10.10.10.156/24 dev ethX # ifcfg-ethX ip addr add 10.10.10.157/24 dev ethX # Policy-route. Priority reverse-order of insertion. ip rule add from 10.10.10.157 table tor ip rule add from 10.10.10.156 table tor # Tor interface ip route add 10.10.10.0/24 dev ethX table tor src 10.10.10.157 ip route add 127.0.0.0/8 dev lo table tor ip route add default via 10.10.10.1 table tor return 0 } ========================================================== ! # Run this again to catch any interface-specific actions ! sysctl -e -p /etc/sysctl.conf >/dev/null 2>&1 + + apply_netlocal ! ! touch /var/lock/subsys/network torrc ===== OutboundBindAddress 10.10.10.157 ORPort 10.10.10.157:443 DirPort 10.10.10.157:80 $ ip rule show 0: from all lookup local 32763: from 10.10.10.156 lookup tor 32764: from 10.10.10.157 lookup tor 32766: from all lookup main 32767: from all lookup default $ ip route show table main 10.10.22.0/24 dev ethZ proto kernel scope link src 10.10.22.222 10.10.10.0/24 dev ethX proto kernel scope link src 10.10.10.156 10.10.9.0/24 dev ethA proto kernel scope link src 10.10.9.1 default via 10.10.22.1 dev ethZ # ip route show dev ethX table local broadcast 10.10.10.0 proto kernel scope link src 10.10.10.156 broadcast 10.10.10.255 proto kernel scope link src 10.10.10.156 local 10.10.10.157 proto kernel scope host src 10.10.10.156 local 10.10.10.156 proto kernel scope host src 10.10.10.156 $ ip route show dev ethX table tor 10.10.10.0/24 scope link src 10.10.10.157 default via 10.10.10.1 $ ip addr show dev ethX 9: ethX: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 10000 inet 10.10.10.156/24 brd 10.10.10.255 scope global ethX inet 10.10.10.157/24 scope global secondary ethX # lsof -Pn -p $(pgrep tor) | fgrep LISTEN | sed -re 's| +| |g' tor 1870 tor 7u IPv4 4437 TCP 10.10.9.9:9150 (LISTEN) tor 1870 tor 8u IPv4 4438 TCP 10.10.9.9:9151 (LISTEN) tor 1870 tor 9u IPv4 4439 TCP 10.10.10.157:443 (LISTEN) tor 1870 tor 10u IPv4 4440 TCP 10.10.10.157:80 (LISTEN) nc 10.10.9.9 9151 getinfo dir/server/authority 250+dir/server/authority= router unnamed 10.10.10.156 443 0 0 platform Tor 0.2.4.25 on Linux protocols Link 1 2 Circuit 1 . . . Tor[1870]: Your server (10.10.10.156:443) has not managed to confirm that its ORPort is reachable. Please check your firewalls, ports, address, /etc/hosts file, etc. Tor[1870]: Your server (10.10.10.156:80) has not managed to confirm that its DirPort is reachable. Please check your firewalls, ports, address, /etc/hosts file, etc. ```
issue