Назад | Перейти на главную страницу

Настроить IP-адреса только для виртуальных интерфейсов

В моем текущем ifconfig CentOS у меня есть eth0 и набор виртуальных интерфейсов eth0:0 - eth0:3 каждый занимает уникальный адрес в подсети 69.xx.yy.194/29 (шлюз = .193, трансляция = .199)

Теперь у меня есть только один шанс, потому что я получаю доступ к серверу через удаленный терминал, поэтому я подумал, что попрошу здесь дважды проверить, что я собираюсь делать.

Я предполагаю, если я выступлю ifdown eth0, это приведет к отключению всего, включая интерфейсы. Я хотел бы иметь возможность отключить любую из моих 5 служб, работающих на машине, подключив каждую из них к собственному виртуальному интерфейсу (обратите внимание, у меня сейчас только 4 интерфейса)

Следовательно, возможно ли, чтобы IP-адрес не был назначен eth0, а лучше надеть eth0:0 так у меня получается 5 интерфейсов, каждый с отдельным адресом?

(Будет ли это иметь неожиданные побочные эффекты для моего соединения PuTTY?)

Вы правы, что отключение eth0 приведет к отключению всех виртуальных интерфейсов, основанных на eth0.

Вместо того, чтобы отключать интерфейс, вы можете перенастроить его с адресом 0.0.0.0 - это сохранит интерфейс, но без IP-адреса. Я только что убедился, что следующая последовательность работает отлично:

Изначально сервер имеет адрес 172.17.8.10 на eth0, шлюз по умолчанию - 172.17.8.1.

draal:~ # ifconfig eth0:0 172.17.8.11
draal:~ # ifconfig eth0 0.0.0.0
draal:~ # ping 172.17.8.1                                    
PING 172.17.8.1 (172.17.8.1) 56(84) bytes of data.           
64 bytes from 172.17.8.1: icmp_seq=1 ttl=255 time=0.119 ms   
64 bytes from 172.17.8.1: icmp_seq=2 ttl=255 time=0.244 ms   
^C                                                           
--- 172.17.8.1 ping statistics ---                           
2 packets transmitted, 2 received, 0% packet loss, time 999ms
rtt min/avg/max/mdev = 0.119/0.181/0.244/0.063 ms            
draal:~ # ifconfig -a
eth0      Link encap:Ethernet  HWaddr 08:00:27:8C:98:44  
          inet6 addr: fe80::a00:27ff:fe8c:9844/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:11 errors:0 dropped:0 overruns:0 frame:0
          TX packets:24 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000                         
          RX bytes:1002 (1002.0 b)  TX bytes:1940 (1.8 Kb)     

eth0:0    Link encap:Ethernet  HWaddr 08:00:27:8C:98:44  
          inet addr:172.17.8.11  Bcast:172.17.255.255  Mask:255.255.0.0
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1           

При этом весьма вероятно, что ваше SSH-соединение будет прервано. Я бы начал с SSH: подключился к одному из виртуальных интерфейсов; пока ты не делаешь ifcfg eth0 вниз, этот сеанс не должен прерываться.

Я бы также посоветовал вам настроить задание at job или cron, которое сбрасывает все интерфейсы в их предыдущее состояние через 5 минут. Если ваша новая настройка работает, вы можете отменить задание at, но если это не так, вы сможете вернуться через несколько минут.