Понадобилось мне навесить на комп дополнительный адрес. Под виндой я просто добавляю еще один IP в свойства протокола. Под linux немного сложнее:
ifconfig ethX:Y xxx.xxx.xxx.xxx
то бишь, на реальный интерфейс ethX навершивается виртуальный ethX:Y с указанным адресом.
Всё просто и ясно, плодим виртуальные интерфейсы до посинения.
На трезвую же голову хочется их удалить, ибо уже не нужны. Радостно тычем:
ifdown ethX:Y
и получаем "interface ethX:Y not configured". Шикарно: адрес есть, пингуется, но не настроен. Помогает команда
ifconfig ethX:Y down
которая напрочь сносит этот виртуальный интерфейс. Туда ему и дорога!
Идея найдена здесь.
(upd 20120220) Более того, такой способ считается устаревшим, и в настоящее время рекомендуется применять
ip addr ...
что выглядит логичнее и красивее.
ifconfig ethX:Y xxx.xxx.xxx.xxx
то бишь, на реальный интерфейс ethX навершивается виртуальный ethX:Y с указанным адресом.
Всё просто и ясно, плодим виртуальные интерфейсы до посинения.
На трезвую же голову хочется их удалить, ибо уже не нужны. Радостно тычем:
ifdown ethX:Y
и получаем "interface ethX:Y not configured". Шикарно: адрес есть, пингуется, но не настроен. Помогает команда
ifconfig ethX:Y down
которая напрочь сносит этот виртуальный интерфейс. Туда ему и дорога!
Идея найдена здесь.
(upd 20120220) Более того, такой способ считается устаревшим, и в настоящее время рекомендуется применять
ip addr ...
$ ip --help
Usage: ip [ OPTIONS ] OBJECT { COMMAND | help }
ip [ -force ] -batch filename
where OBJECT := { link | addr | addrlabel | route | rule | neigh | ntable |
tunnel | maddr | mroute | monitor | xfrm }
OPTIONS := { -V[ersion] | -s[tatistics] | -d[etails] | -r[esolve] |
-f[amily] { inet | inet6 | ipx | dnet | link } |
-o[neline] | -t[imestamp] | -b[atch] [filename] |
-rc[vbuf] [size]}
$ ip addr help
Usage: ip addr {add|change|replace} IFADDR dev STRING [ LIFETIME ]
[ CONFFLAG-LIST]
ip addr del IFADDR dev STRING
ip addr {show|flush} [ dev STRING ] [ scope SCOPE-ID ]
[ to PREFIX ] [ FLAG-LIST ] [ label PATTERN ]
IFADDR := PREFIX | ADDR peer PREFIX
[ broadcast ADDR ] [ anycast ADDR ]
[ label STRING ] [ scope SCOPE-ID ]
SCOPE-ID := [ host | link | global | NUMBER ]
FLAG-LIST := [ FLAG-LIST ] FLAG
FLAG := [ permanent | dynamic | secondary | primary |
tentative | deprecated | CONFFLAG-LIST ]
CONFFLAG-LIST := [ CONFFLAG-LIST ] CONFFLAG
CONFFLAG := [ home | nodad ]
LIFETIME := [ valid_lft LFT ] [ preferred_lft LFT ]
LFT := forever | SECONDS
что выглядит логичнее и красивее.