LinuxForum.Fans
Тема

Маршрут по-умолчанию

Автор: Alkash 8 сообщений 7372 просмотров
#170018

Решил вернуться обратно на арчик и, устанавливая с netinstall образа, уже в процессе самой установки стали вырисовываться интересные вещи: пакет net-tools изначально не помечен для установки (как выяснилось позже инструменты в него входящие, а-ля route и т.д., считаются теперь устаревшими о_О), но это цветочки. Ягодки начались при редактировании rc.conf - ныне он изменен и выглядит так:

Показать
#
# /etc/rc.conf - Main Configuration for Arch Linux
#

# -----------------------------------------------------------------------
# LOCALIZATION
# -----------------------------------------------------------------------
#
# LOCALE: available languages can be listed with the 'locale -a' command
# DAEMON_LOCALE: If set to 'yes', use $LOCALE as the locale during daemon
# startup and during the boot process. If set to 'no', the C locale is used.
# HARDWARECLOCK: set to "UTC" or "localtime", any other value will result
# in the hardware clock being left untouched (useful for virtualization)
# Note: Using "localtime" is discouraged.
# TIMEZONE: timezones are found in /usr/share/zoneinfo
# KEYMAP: keymaps are found in /usr/share/kbd/keymaps
# CONSOLEFONT: found in /usr/share/kbd/consolefonts (only needed for non-US)
# CONSOLEMAP: found in /usr/share/kbd/consoletrans
# USECOLOR: use ANSI color sequences in startup messages
# VERBOSE: Verbose level (from 1 to 8). man 3 syslog for level info
#
LOCALE="ru_RU.UTF-8"
DAEMON_LOCALE="no"
HARDWARECLOCK="localtime"
TIMEZONE="Asia/Yekaterinburg"
KEYMAP="ru"
CONSOLEFONT=ter-c16b
CONSOLEMAP=
USECOLOR="yes"
VERBOSE="3"

# -----------------------------------------------------------------------
# HARDWARE
# -----------------------------------------------------------------------
#
# MODULES: Modules to load at boot-up. Blacklisting is no longer supported.
# Replace every !module by an entry as on the following line in a file in
# /etc/modprobe.d:
# blacklist module
# See "man modprobe.conf" for details.
#
MODULES=()

# Udev settle timeout (default to 30)
UDEV_TIMEOUT=30

# Scan for FakeRAID (dmraid) Volumes at startup
USEDMRAID="no"

# Scan for BTRFS volumes at startup
USEBTRFS="no"

# Scan for LVM volume groups at startup, required if you use LVM
USELVM="no"

# -----------------------------------------------------------------------
# NETWORKING
# -----------------------------------------------------------------------
#
# HOSTNAME: Hostname of machine. Should also be put in /etc/hosts
#
HOSTNAME="hunter"

# Use 'ip addr' or 'ls /sys/class/net/' to see all available interfaces.
#
# Wired network setup
# - interface: name of device (required)
# - address: IP address (leave blank for DHCP)
# - netmask: subnet mask (ignored for DHCP)
# - gateway: default route (ignored for DHCP)
#
# Static IP example
# interface=eth0
# address=192.168.0.2
# netmask=255.255.255.0
# gateway=192.168.0.1
#
# DHCP example
# interface=eth0
# address=
# netmask=
# gateway=

interface=eth0
address=
netmask=
gateway=

# Setting this to "yes" will skip network shutdown.
# This is required if your root device is on NFS.
NETWORK_PERSIST="no"

# Enable these netcfg profiles at boot-up. These are useful if you happen to
# need more advanced network features than the simple network service
# supports, such as multiple network configurations (ie, laptop users)
# - set to 'menu' to present a menu during boot-up (dialog package required)
# - prefix an entry with a ! to disable it
#
# Network profiles are found in /etc/network.d
#
# This requires the netcfg package
#
#NETWORKS=(main)

# -----------------------------------------------------------------------
# DAEMONS
# -----------------------------------------------------------------------
#
# Daemons to start at boot-up (in this order)
# - prefix a daemon with a ! to disable it
# - prefix a daemon with a @ to start it up in the background
#
# If something other takes care of your hardware clock (ntpd, dual-boot...)
# you should disable 'hwclock' here.
#
DAEMONS=(hwclock syslog-ng dbus network crond gdm)

Обратите внимание как изменился раздел NETWORKING.
Вот тут-то и возникает мой вопрос из названия темы. Раньше достаточно было прописать шлюз, убрать "!" в ROUTES=(gateway) и при загрузке системы этот маршрут прописывался автоматом. А как сейчас это реализовать?
Зачем мне он нужен... Ну в общем-то выхожу я в инет через локалку и есть два способа выхода:
1. С "серым" ip: инет доступен всегда и сразу;
2. С "белым" ip: выход только после авторизации на vpn-сервере.
Так вот чтобы сработал 1-й способ и нужен этот дефолтный маршрут. Скорость через vpn в разы меньше, ежели напрямую, то я редко пользуюсь "беляком".
Такие вот нынче нововведения. Какие на этот счет есть соображения?

#170020

А что мешает использовать серый ip и указать нужный шлюз в gateway?

UPD: Прикольно,изменили rc.conf Сколько сижу на арче, такое впервые.

#170023

Так я и хочу использовать его, но как. Если имеешь ввиду прописать gateway в rc.conf, то там написано gateway: default route (ignored for DHCP). У меня через dhcp.

#170026

rc.conf
В rc.conf введен новый синтаксис для простой настройки сети с помощью iproute2, а не net-tools. Прежняя функциональность до сих пор сохранена для тех, кто предпочитает оставаться с этими инструментами (net-tools), но не надейтесь получить новые возможности

Это с сайта сообщества. Как вариант попробовать сделать все по старому.

#170028

Можно попробовать написать в rc.conf путь для шлюза. Т.к. они перешли на iproute2, то как то так:

[console]
ip route delete default
ip route add default via 192.168.1.77 dev eth0
[/console]

192.168.1.77 - шлюз
eth0 - сетевая по умолчанию

По идеи, eth0 должен все будет получить по DHCP и потом вручную установить путь к шлюзу. Хз. Может и прокатит.

#170035

Пошел несколько неоднозначным путем, а именно: прописал в rc.conf шлюз и чуток модефицировал скрипт /etc/rc.d/network - после /sbin/dhcpcd $DHCPCD_ARGS $interface || return 1 дописал /sbin/ip route add default via $gateway dev $interface || return 1. Теперь все работает, но это все же костыль. Буду дальше копать.
зы Можно и ip r a default via шлюз dev интерфейс закинуть в rc.local и также будет работать.

#170201

зачем шлюз прописывать?
DHCP не работает?

#170208

DHCP работает. Это для того, чтобы $gateway из rc.conf (а откуда еще скрипту этот параметр хапнуть). Вернул все назад и остановился на варианте с rc.local.
Все же как-то неправильно получается, может позже в wiki что-нибудь напишут по этому поводу.

Войдите или зарегистрируйтесь, чтобы ответить.