LINUX.ORG.RU
ФорумAdmin

Проблемы с iproute2 в СentOs 7

 ,


0

1

Есть задача: необходимо, чтобы пакеты от определенных демонов ходили через определенный шлюз. Пакеты, приходящие на порты к демонам маркируются файрволом меткой 0x02.

Я создал таблицу gate2 и указал ей шлюз по умолчанию 192.168.0.2. Пакеты с пометкой 0x02 отправляются в данную таблицу.

При настройке iproute2 вручную (утилитой ip из консоли), все отлично работает, но при прописывании маршрута в route-eth0 все ломается: появляется какие-то станные записи в таблице маршрутизации, а самое главное, появляются лишний ip адрес у интерфейса.

Конфиги:

# cat /etc/iproute2/rt_tables 
#
# reserved values
#
255	local
254	main
253	default
0	unspec
#
# local
#
#1	inr.ruhep
200	gate2

# cat /etc/sysconfig/network-scripts/ifcfg-eth0
TYPE="Ethernet"
BOOTPROTO="static"
DEFROUTE="yes"
NAME="eth0"
UUID="19a5201e-3252-4440-9ccb-15714c8f2809"
ONBOOT="yes"
HWADDR="00:16:3e:19:c0:1e"
IPADDR="192.168.0.100"
PREFIX="24"
GATEWAY="192.168.0.1"
DNS1="192.168.0.1"

# cat /etc/sysconfig/network-scripts/route-eth0 
default via 192.168.0.2 dev eth0 table gate2

# cat /etc/sysconfig/network-scripts/rule-eth0 
fwmark 0x2/0x2 lookup gate2

Результат:

# ip route
default via 192.168.0.1 dev eth0 
default via 192.168.0.1 dev eth0  proto static  metric 1024 
169.254.0.0/16 dev eth0  scope link  metric 1002 
192.168.0.0/24 dev eth0  proto kernel  scope link  src 192.168.0.37 

# ip addr
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN 
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host 
       valid_lft forever preferred_lft forever
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
    link/ether 00:16:3e:19:c0:1e brd ff:ff:ff:ff:ff:ff
    inet 192.168.0.37/24 brd 192.168.0.255 scope global dynamic eth0
       valid_lft 1209578sec preferred_lft 1209578sec
    inet 192.168.0.100/24 brd 192.168.0.255 scope global secondary eth0
       valid_lft forever preferred_lft forever
    inet6 fe80::216:3eff:fe19:c01e/64 scope link 
       valid_lft forever preferred_lft forever

# ip route show table gate2
default via 192.168.0.2 dev eth0 

Откуда взялся лишний ip и маршрут к 169.254.0.0/16, что я не правильно делаю?


Откуда взялся лишний ip и маршрут к 169.254.0.0/16

Из /etc/sysconfig/network-scripts/ifup-eth:

# Add Zeroconf route.
if [ -z "${NOZEROCONF}" -a "${ISALIAS}" = "no" -a "${REALDEVICE}" != "lo" ]; then
    ip route add 169.254.0.0/16 dev ${REALDEVICE} metric $((1000 + $(cat /sys/class/net/${REALDEVICE}/ifindex))) scope link
fi
По лишнему IP - сложно так вот сказать. Может у тебя там ещё dhclient где-нибудь запускается.

Deleted
()
Последнее исправление: Deleted (всего исправлений: 1)
Ответ на: комментарий от Deleted

Может у тебя там ещё dhclient где-нибудь запускается.

Да, действительно. Я даже нашел откуда, я NM_CONTROLLED=«no» прописать забыл, вот NetworkManager dhclient и запускал зачем-то, хотя BOOTPROTO=«static». В общем проблема решена, маршрут к 169.254.0.0/16 не мешает.

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