В скрипте есть такая строчка MTU=$(($($IPROUTE route get "$VPNGATEWAY" | sed -ne 's/^.*mtu \([[:digit:]]\+\).*$/\1/p') - 88)) У нас на новых ядрах из неё получается -88. Потому что на центоси какой-нибудь: # ip route get 8.8.8.8 8.8.8.8 via 7.7.7.7 dev eth0 src 7.7.7.6 cache mtu 1500 advmss 1460 hoplimit 64 а у нас # ip route get 8.8.8.8 8.8.8.8 via 7.7.7.7 dev eth0 src 7.7.7.6 cache информации о mtu в выводе ip route get нету.
Может, надо на iproute2 перевешать?
> Потому что на центоси какой-нибудь: > # ip route get 8.8.8.8 > 8.8.8.8 via 7.7.7.7 dev eth0 src 7.7.7.6 > cache mtu 1500 advmss 1460 hoplimit 64 Что за центось? [root@SZKX001 ~]# ip ro get 8.8.8.8 8.8.8.8 via 85.17.225.126 dev eth0 src 85.17.225.98 cache mtu 1500 advmss 1460 hoplimit 64 [root@SZKX001 ~]# rpm -qf /sbin/ip; uname -r iproute-2.6.32-20.el6.i686 2.6.32-279.11.1.el6.i686 ---- [ec2-user@cygnus ~]$ sudo ip ro get 8.8.8.8 8.8.8.8 via 10.58.197.1 dev eth0 src 10.58.197.183 cache [ec2-user@cygnus ~]$ rpm -qf /sbin/ip; uname -r iproute-3.6.0-8.16.amzn1.i686 3.4.48-45.46.amzn1.i686 ---- [altlinux@eeelive ~]$ sudo ip ro get 8.8.8.8 8.8.8.8 via 10.12.30.254 dev wlan0 src 10.12.30.102 cache [altlinux@eeelive ~]$ rpm -qf /sbin/ip ; uname -r iproute2-3.2.0-alt1 3.6.0-pure-emerald-alt1
(В ответ на комментарий №2) > > Потому что на центоси какой-нибудь: > > # ip route get 8.8.8.8 > > 8.8.8.8 via 7.7.7.7 dev eth0 src 7.7.7.6 > > cache mtu 1500 advmss 1460 hoplimit 64 > > Что за центось? # rpm -qf /sbin/ip; uname -r; cat /etc/redhat-release iproute-2.6.18-11.el5 2.6.18-238.12.1.el5.centos.plus CentOS release 5.6 (Final) # rpm -qf /sbin/ip; uname -r; cat /etc/redhat-release iproute-2.6.32-20.el6.x86_64 2.6.32-279.19.1.el6.x86_64 CentOS release 6.3 (Final)
На ядре >2.6.32 уже другое. Но mtu - свойство интерфейса. Нужно заменить на двухступенчатый подход: по ip r get <gateway> определяем интерфейс, а по ip link - MTU на нём.
> 2.6.18-238.12.1.el5.centos.plus > 2.6.32-279.19.1.el6.x86_64 Вот и я о чём.
Задублировалось. Вот исправление: MTU=$(($($IPROUTE link show `$IPROUTE route get "$VPNGATEWAY"|sed -ne 's/^.* dev \([[:alnum:]]\+\) .*$/\1/p'`|sed -ne 's/^.*mtu \([[:digit:]]\+\).*$/\1/p')-88))
(В ответ на комментарий №7) > Задублировалось. Вот исправление: > > MTU=$(($($IPROUTE link show `$IPROUTE route get "$VPNGATEWAY"|sed -ne 's/^.* > dev \([[:alnum:]]\+\) .*$/\1/p'`|sed -ne 's/^.*mtu > \([[:digit:]]\+\).*$/\1/p')-88)) лучше не :alnum: а :graph: например. а то интефейс br-inet в пичали.
(В ответ на комментарий №7) > Задублировалось. Вот исправление: > > MTU=$(($($IPROUTE link show `$IPROUTE route get "$VPNGATEWAY"|sed -ne 's/^.* > dev \([[:alnum:]]\+\) .*$/\1/p'`|sed -ne 's/^.*mtu > \([[:digit:]]\+\).*$/\1/p')-88)) и -o лучше для ip а то многострочный вывод и не работает
Created attachment 5935 [details] у меня нарисовалось
исправлено в 0.5.3-alt5