понедельник, 30 сентября 2013 г.

Резервный доступ через модемы, ssh-tunnel и мелочи

Когда нужно иметь резервный доступ через gprs сети к своим удаленным серверам, я делаю так

  1. втыкаю в них usb свистки huawei 
  2. Устанавливаю коннект, что то типа такого:
 [Dialer mts]
Modem = /dev/ttyUSB0
Init1 = ATZ
Init2 = ATQ0 V1 E1 S0=0 &C1 &D2 +FCLASS=0
Init3 = AT+CGDCONT=1,"IP","internet.mts.ru"
ISDN = 0
Dial Attempts = 1000
Modem Type = USB Modem
Phone = *99#
Username = 'mts'
Password = 'mts'
Auto DNS = off
New PPPD = yes
 и wvdial mts, получаю серый ип от сотового оператора
  3. настраиваю маршрутизацию на мой vps через шлюз сотовика

iptables -t nat -A POSTROUTING -o ppp0 -j MASQUERADE
iptables -t mangle -A OUTPUT -d cloud.my.server.com -j MARK --set-mark 2
echo «12 isp2» >> /etc/iproute2/rt_tables
ip rule add fwmark 2 lookup isp2
ip route add default via 10.64.64.64 table isp2


  4. Устанавиваю ssh подключению по ключу, к какому нить из своих сторонних vps , с reverse тунелем
 
 ssh -R2223:127.0.0.1:22 tunnel@cloud.my.server.com


и вполне себе счастилив, что при проблемах, можно  зайти через vps по команде

ssh -p 2223 localhost 
попадешь через модем на отрезаную машину.

Но была такая загвоздка, на иноземных vps зачастую бывают замысловатые locale.
И бывает что я их не перенастраиваю.
И тогда при входе обратно, он заспамит что какая нить локаль типа en_US.UTF8 не установлена на вашем сервере.

Мелочь, а неприятно.

Как боремся?
На машине-цели (а у меня сплошь дебиан, все меньше и меньше остается остальных) раскоментим в /etc/locale.gen нужную,. и запускаем
locale-gen
 И все, волосы снова шелковистые.