Головна FreeBSD Швидкість і дуплекс мережевої карти в FreeBSD

Швидкість і дуплекс мережевої карти в FreeBSD

Швидкість і дуплекс мережевої карти в FreeBSD
Швидкість і дуплекс мережевої карти в FreeBSD

Після заміни чергового свіча стала мережевка відмовилась підіймати лінк в автоматичному режимі (з свічами 3COM буває якась така біда) і прийшлось вносити зміни в конфіги щоб все запустилось. Тимчасове переведення карти в half-duplex допомогло прожити до ранку, а там вже і новий свіч приїхав.

За замовчуванням всі мережеві інтерфейси настроєні на автоматичне розпізнання лінку, швидкості і дуплексу. Проте в позаштатних ситуаціях ця автонастройка не спрацьовує або спрацьовує невірно, тому важливо знати як поміняти ці параметри вручну. У FreeBSD за ці налаштування відповідає утиліта ifconfig. Опція media якої задає швидкість, а mediaopt - дуплекс:

Подивимось в якому режимі працює наш адаптер:

ifconfig em0
em0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500
        options=9b<RXCSUM,TXCSUM,VLAN_MTU,VLAN_HWTAGGING,VLAN_HWCSUM>
        ether 08:00:27:ef:b8:a5
        hwaddr 08:00:27:ef:b8:a5
        inet 10.0.2.15 netmask 0xffffff00 broadcast 10.0.2.255
        nd6 options=29<PERFORMNUD,IFDISABLED,AUTO_LINKLOCAL>
        media: Ethernet autoselect (1000baseT <full-duplex>)
        status: active

бачимо тут що в нас стоїть autoselect. Тепер спробуємо його змінити на 1000 Мбіт/с full-duplex вручну:

ifconfig em0 media 1000baseTX mediaopt full-duplex

ifconfig em0
em0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500
        options=9b<RXCSUM,TXCSUM,VLAN_MTU,VLAN_HWTAGGING,VLAN_HWCSUM>
        ether 08:00:27:ef:b8:a5
        hwaddr 08:00:27:ef:b8:a5
        inet 10.0.2.15 netmask 0xffffff00 broadcast 10.0.2.255
        nd6 options=29<PERFORMNUD,IFDISABLED,AUTO_LINKLOCAL>
        media: Ethernet 1000baseT <full-duplex>
        status: active

як бачимо строки autoselect більше немає, а швидкість і дуплекс такі як ми встановили вручну.


Для того щоб не втратити зміни, вносимо в rc.conf:

ifconfig_em0="media 1000baseTX mediaopt full-duplex up"

Тепер після перезагрузки сервера наша мережева карта буде сконфігурована як ми того хотіли.


P.S. Для відміни опції достатньо поставити перед нею знак "-". Наприклад:

ifconfig em0 -mediaopt full-duplex

Гарного адміністрування!

perm_identity event

Коментарі