LINUX.ORG.RU
ФорумAdmin

sys-apps/iproute2 - какой командой создать таблицу?

 


1

1

Есть такая штука как «Policy routing»

Там можно создавать таблицы, для этого они прописываются в файле /etc/iproute2/rt_tables

А как создать таблицу из командной строки? Как очистить из неё все правила? Как удалить таблицу? Как посмотреть список таблиц?



Последнее исправление: true_admin (всего исправлений: 1)

Ответ на: комментарий от Kuzz

уже. там есть только команда для просмотра правил в таблице
ip route show table local

А для работы с самими таблицами - нет

StrongDollar
() автор топика
Ответ на: комментарий от StrongDollar

Правила не только смотреть можно:

ip rule [ list | add | del | flush ] СЕЛЕКТОР ДЕЙСТВИЕ

СЕЛЕКТОР := [ from ПРЕФИКС ] [ to ПРЕФИКС ] [ tos TOS ] [ fwmark FWMARK[/МАСКА] ] [ dev СТРОКА ] [ pref ЧИСЛО ]

ДЕЙСТВИЕ := [ table TABLE_ID ] [ nat АДРЕС ] [ prohibit | reject | unreachable ] [ realms [SRCREALM/]DSTREALM ]

TABLE_ID := [ local | main | default | ЧИСЛО ]

А таблицы добавляют обычно руками

# echo 200 John >> /etc/iproute2/rt_tables # ip rule add from 10.0.0.10 table John # ip rule ls

http://www.opennet.ru/docs/RUS/LARTC/c322.html

Kuzz ★★★
()
Ответ на: комментарий от Kuzz

таблицы добавляют обычно руками

я имею в виду не в файл добавить,
а в память (потому что если этого не сделать, то при добавлении default route возникает ошибка)

StrongDollar
() автор топика
Ответ на: комментарий от strangeman

как-то так:

ip route add default scope global \
nexthop via 192.168.1.1 dev eth1 weight 1 \
nexthop via 192.168.2.1 dev eth2 weight 1

RTNETLINK answers: No such process

# ifconfig eth1 | grep «inet addr»
inet addr:192.168.1.160 Bcast:192.168.1.255 Mask:255.255.255.0
# ifconfig eth2 | grep «inet addr»
inet addr:192.168.2.160 Bcast:192.168.2.255 Mask:255.255.255.0

# ip route show
192.168.1.0/24 dev eth1 proto kernel scope link src 192.168.1.160
192.168.1.0/24 dev eth1 proto kernel scope link metric 1
192.168.2.0/24 dev eth2 proto kernel scope link src 192.168.2.160
192.168.2.0/24 dev eth2 proto kernel scope link metric 1

# ip rule show

# ping 192.168.1.1
connect: Network is unreachable
# ping 192.168.2.1
connect: Network is unreachable

StrongDollar
() автор топика
Ответ на: комментарий от StrongDollar

Ну а где непосредственно добавление правил в таблицы? Я так понимаю, вы хотите сделать роутинг с двумя аплинками, правильно? Тогда вот разжеванная статья: http://www.debian-administration.org/articles/377

strangeman ★★★★
()
Ответ на: комментарий от strangeman

вот тут есть тоже разжеванная статья:
http://geekscrap.com/2010/02/multiple-ip-uplinks-with-gentoo/
эта статья лучше тем, что она под gentoo, которую я настраиваю

однако в статье под gentoo не описывается настройка default route (которая у меня собственно и не работает)

Если установку default route поместить в /etc/local.d/routing.start то сервис /etc/init.d/local запускается позже, чем ntp-client и из-за этого не синхронизируется время
как поместить установку default route в /etc/conf.d/net - непонятно

StrongDollar
() автор топика
Ответ на: комментарий от StrongDollar

А, ну тут уже не помогу, это дистроспецифичное. Поправьте тег у себя в стартовом сообщении - хоть гентушники скастуются.

strangeman ★★★★
()
Ответ на: комментарий от Kuzz

# zgrep «CONFIG_IP_ADVANCED_ROUTER» /proc/config.gz
CONFIG_IP_ADVANCED_ROUTER=y

# zgrep «CONFIG_IP_MULTIPLE_TABLES» /proc/config.gz
CONFIG_IP_MULTIPLE_TABLES=y

Я тут еще одну тему создал:
«default route» в виде «multipath route» - в какой конфиг и как?

Текщие успехи:
свеженаписанный скрипт /etc/init.d/routing запускается до сетевых сервисов (типа ntp-client),
но время всё равно не выставляется, выдает ошибку

* Setting clock via the NTP client 'ntpdate'
* Failed to set clock

В логе
# tail -n 1000 /var/log/messages | grep clock
написано:

Oct 17 20:36:50 myhostname kernel: Switching to clocksource kvm-clock
Oct 17 20:36:50 myhostname kernel: Refined TSC clocksource calibration: 2832.964 MHz.
Oct 17 20:37:32 ns1 ntpdate[7297]: no server suitable for synchronization found
Oct 17 20:37:32 myhostname rc-scripts: Failed to set clock

# ntpdate
говорит

17 Oct 20:42:03 ntpdate[7684]: no servers can be used, exiting

В файле конфигурации
# grep -v «#» /etc/ntp.conf | grep -v «^$»
написано:

server 0.gentoo.pool.ntp.org
server 1.gentoo.pool.ntp.org
server 2.gentoo.pool.ntp.org
server 3.gentoo.pool.ntp.org
driftfile /var/lib/ntp/ntp.drift
restrict default nomodify
nopeer
restrict 127.0.0.1

команда
# ntpq -p
выдает:
remote refid st t when poll reach delay offset jitter
==============================================================================
mail.bakulev.co .INIT. 16 u - 64 0 0.000 0.000 0.000
193.124.4.177 .INIT. 16 u - 64 0 0.000 0.000 0.000
procyon.promode .INIT. 16 u - 64 0 0.000 0.000 0.000
jane.telecom.mi .INIT. 16 u - 64 0 0.000 0.000 0.000

Прочитал вот эту ссылку:
https://www.linuxquestions.org/questions/linux-server-73/ntpdate-no-server-su...
пробовал добавить строку «server 3.in.pool.ntp.org» в /etc/ntp.conf
не помогло

Там еще при старте выше выдается:
Failed to set clock You will need to set the clock yourself

StrongDollar
() автор топика
Ответ на: комментарий от StrongDollar

Эм.. Т.е. все работает, кроме ntp «ns1 ntpdate[7297]: no server suitable for synchronization found » намекает на dns.

В /etc/resolv.conf dns-ки провов есть? (Да и маршруты к ним лучше вручную ставить)
Или есть свой, на локалхосте. Который не успевает запуститься до старта ntp

Kuzz ★★★
()
Ответ на: комментарий от Kuzz

# cat /etc/resolv.conf

# Generated by net-scripts for interface lo
nameserver 127.0.0.1

есть свой, на локалхосте.

да,
есть свой на локалхосте, он настроен
а у сервиса /etc/init.d/ntp-client написано, что его надо запускать после dns:
depend() {
before cron
portmap
need net
use dns logger
}

StrongDollar
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.