Dyo IP addr se ena ethernet interface

Antonis Christofides anthony at itia.ntua.gr
Mon Dec 7 13:09:03 EET 2009


Μια διευκρίνηση: δεν υπάρχει "mail client", όπως κάποιοι υπέθεσαν.
Υπάρχει mail server (exim) που τρέχει το μηχάνημα, και το setup του είναι
local delivery ή smarthost. Το πρόβλημα, θυμίζω, ήταν ότι ο mail
server έστελνε τα email στο smarthost από το eth1:1, αντί του
επιθυμητού eth1. Έκανα και μερικές ακόμα δοκιμές (έστειλα 7-8 email)
και πήγαν όντως από το eth1:1. Εντούτοις, όταν έκανα 4-5 συνδέσεις
ssh, αυτές πήγαν από το eth1. Μερικά στοιχεία:

# ip addr show
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 16436 qdisc noqueue state UNKNOWN
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
2: eth0: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN qlen 1000
    link/ether 00:15:f2:82:de:13 brd ff:ff:ff:ff:ff:ff
3: eth1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UNKNOWN qlen 1000
    link/ether 00:10:4b:b4:9e:59 brd ff:ff:ff:ff:ff:ff
    inet 147.102.160.1/24 brd 147.102.160.255 scope global eth1
    inet 147.102.160.4/24 brd 147.102.160.255 scope global secondary eth1:1

# ip route list
147.102.160.0/24 dev eth1  proto kernel  scope link  src 147.102.160.1  metric 1 
default via 147.102.160.200 dev eth1  src 147.102.160.4 
default via 147.102.160.200 dev eth1 

*********************

Όταν δοκίμασα τη μέθοδο V13 (ip addr add 147.102.160.4 dev eth1), τότε
τα δοκιμαστικά email και οι δοκιμαστικές συνδέσεις ssh πήγαν από την
κύρια διεύθυνση ip (την επιθυμητή). Επίσης:

# ip addr show
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 16436 qdisc noqueue state UNKNOWN
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
2: eth0: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN qlen 1000
    link/ether 00:15:f2:82:de:13 brd ff:ff:ff:ff:ff:ff
3: eth1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UNKNOWN qlen 1000
    link/ether 00:10:4b:b4:9e:59 brd ff:ff:ff:ff:ff:ff
    inet 147.102.160.1/24 brd 147.102.160.255 scope global eth1
    inet 147.102.160.4/32 scope global eth1

# ip route list
147.102.160.0/24 dev eth1  proto kernel  scope link  src 147.102.160.1  metric 1 
default via 147.102.160.200 dev eth1 

****************************

Το ερώτημα όμως γιατί έχω αυτή τη συμπεριφορά παραμένει. Το exim
manual (http://exim.org/exim-html-current/doc/html/spec_html/ch30.html) λέει:
    
    interface

    This option specifies which interface to bind to when making an
    outgoing SMTP call.

    ...

    If "interface" is not set, or is ignored, the system’s IP
    functions choose which interface to use if the host has more than
    one.

(Κάνω grep όλα τα configuration files του exim και πουθενά δεν βρίσκω
αυτή την οπσιόν, άρα πιστεύω ότι ισχύει το default.)

Αν λοιπόν το exim αφήνει το λειτουργικό να αποφασίσει, τότε το
λειτουργικό δεν θα απoφάσιζε το ίδιο και για το exim και για το ssh;
Το πρώτο ερώτημα είναι λοιπόν γιατί στην περίπτωση που ορίζουμε
virtual interface άλλο χρησιμοποιεί το ssh και άλλο το exim.

Το δεύτερο ερώτημα είναι τι σημαίνει το netmask /32 που εμφανίζει στην
τελευταία γραμμή η ip addr show για τη λύση V13 (σε σχέση με το /24 της
προηγούμενης λύσης), και αν αυτό είναι που κάνει τη διαφορά.


More information about the Linux-greek-users mailing list