Cуть: Все java приложения отображаются как серые прямоугольники
решение:
#aptitude install suckless-tools
перед запуском java приложения или в авто запуске
$wmname LG3D
2013/08/15
2013/08/12
интернет два провайдера с dhcp
Вводная.
Ну что кодим
/etc/udev/rules.d/70-persistent-net.rules
- два провайдера
- у обоих dhcp
- хотелка использовать обоих
- Все материалы предоставленные в статье вы используете на свой страх и риск (это типа моя отмазка)
Ну что кодим
1. Я взял за основу вот эти статьи + напильник
- http://lartc.org/howto/lartc.rpdb.multiple-links.html
- http://www.opennet.ru/docs/RUS/LARTC/x348.html
- http://help.ubuntu.ru/wiki/ip_balancing
- http://forum.ubuntu.ru/index.php?topic=186059.0
- http://www.tldp.org/HOWTO/Adv-Routing-HOWTO/lartc.rpdb.multiple-links.html
- http://rogovts.ru/opensource/2isp_route.html
- http://wiki.opennet.ru/Linux_ppp-oe_%28ADSL%29_Balance
- http://www.linux.org.ru/forum/admin/9053865 Натолкнуло на решение с dhcp
- http://mldav.blogspot.ru/2013/06/iptables-debian.html
- http://ru.wikibooks.org/wiki/Iptables
/etc/udev/rules.d/70-persistent-net.rules
# PCI device 0x1969:/sys/devices/pci0000:00/0000:00:1c.5/0000:08:00.0 (atl1c)
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="04:7d:7b:a8:bc:0c", ATTR{dev_id}=="0x0", ATTR{type}=="1", KERNEL=="eth*", NAME="eth_inet1"
# PCI device 0x8086:/sys/devices/pci0000:00/0000:00:1c.1/0000:02:00.0 (iwlwifi)
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="74:e5:0b:db:cf:cc", ATTR{dev_id}=="0x0", ATTR{type}=="1", KERNEL=="wlan*", NAME="eth_inet2"
3. да и не забываем что надо подправить /etc/network/interfacesauto lo
iface lo inet loopback
auto eth_inet1
iface eth0 inet dhcp
auto eth_inet2
iface eth0 inet dhcp
auto br_kvm
iface br_kvm inet static
pre-up brctl addbr $IFACE
address 172.17.0.1
netmask 255.255.255.0
4. Включаем nat /etc/sysctl.d/nat.conf
net.ipv4.ip_forward=1
5. делаем две таблицы /etc/iproute2/rt_tables
11 t_eth_inet1 12 t_eth_inet2
6. ставим пакет iptables-persistent и создаём базовый файл
/etc/iptables/rules.v4
# Generated by iptables-save v1.4.14 on Sun Aug 11 16:33:05 2013
*filter
:INPUT DROP [36:4565]
:FORWARD DROP [0:0]
:OUTPUT DROP [1:40]
-A INPUT -i lo -j ACCEPT
-A INPUT -p icmp -j ACCEPT
-A INPUT -p tcp -m state --state RELATED,ESTABLISHED -j ACCEPT
-A INPUT -p udp -m state --state RELATED,ESTABLISHED -j ACCEPT
-A OUTPUT -o lo -j ACCEPT
-A OUTPUT -p icmp -j ACCEPT
-A OUTPUT -p tcp -m state --state NEW,RELATED,ESTABLISHED -j ACCEPT
-A OUTPUT -p udp -m state --state NEW,RELATED,ESTABLISHED -j ACCEPT
COMMIT
# Completed on Sun Aug 11 16:33:05 2013
7. Переходим к dhcp-client (он у меня выполняет всю грязную работу)
/etc/dhcp/dhclient.conf переопределяем скрипт
script "/etc/dhcp/dhclient-script";
8. копируем скрипт из /sbin/dhclient-script в /etc/dhcp/dhclient-script
и накладываем изменения
--- /sbin/dhclient-script 2013-05-28 03:00:32.000000000 +0600
+++ /etc/dhcp/dhclient-script 2013-08-10 00:10:17.000000000 +0600
@@ -235,7 +235,7 @@
fi
# set default route
- ip -4 route add default via ${router} dev ${interface} \
+ ip -4 route add default via ${router} dev ${interface} table t_${interface} \
${if_metric:+metric $if_metric} >/dev/null 2>&1
if [ -n "$if_metric" ]; then
@@ -313,7 +313,7 @@
# set default route
for router in $new_routers; do
- ip -4 route add default via ${router} dev ${interface} \
+ ip -4 route add default via ${router} dev ${interface} table t_${interface} \
${if_metric:+metric $if_metric} >/dev/null 2>&1
if [ -n "$if_metric" ]; then
Делаем так чтоб скрипт писал gw каждого провайдера в свою таблицу
9. Важный скрипт он делает nat, gw
/etc/dhcp/dhclient-exit-hooks.d/nat
# vim:set syntax=sh # set >/tmp/000 nat_interface="br_kvm" nat_subnet="172.17.0.0/24" gw_list="" RUN="yes" if [ "$RUN" = "yes" ]; then if [ "$reason" = "BOUND" ] || [ "$reason" = "REBOOT" ] || [ "$reason" = "TIMEOUT" ]; then #Файрвол if [[ "`iptables -S FORWARD | grep "o ${interface}" | grep ${nat_interface}`" == *${nat_subnet}* ]]; then nat_str="`iptables -S FORWARD | grep "o ${interface}" | grep ${nat_interface} | tail -n 1 | cut -f 2- -d' '`" iptables -D ${nat_str} nat_str="`iptables -S FORWARD | grep "i ${interface}" | grep ${nat_interface} | tail -n 1 | cut -f 2- -d' '`" iptables -D ${nat_str} fi iptables -A FORWARD -s ${nat_subnet} -i ${nat_interface} -o ${interface} -j ACCEPT iptables -A FORWARD -d ${nat_subnet} -i ${interface} -o ${nat_interface} -j ACCEPT #nat if [[ "`iptables -t nat -S POSTROUTING | grep ${interface}`" == *${nat_subnet}* ]]; then nat_str="`iptables -t nat -S POSTROUTING | grep ${interface} | grep ${nat_subnet}| tail -n 1 | cut -f 2- -d' '`" iptables -t nat -D ${nat_str} fi iptables -t nat -A POSTROUTING -s ${nat_subnet} -o ${interface} -j SNAT --to ${new_ip_address} #разброс трафика по интерфейсам if [[ "`ip rule show | grep ${interface}`" == *t_${interface}* ]]; then nat_str="`ip rule show | grep ${interface} | tail -n 1 | cut -f 2- -d':'`" ip rule del ${nat_str} fi ip rule add from ${new_ip_address} lookup t_${interface} #gw for i in `ifconfig | grep "Link encap" | grep "eth_inet" | awk '{printf $1" "}'`; do if [[ `ip route show table t_${i} | grep "default"` == *default* ]] ; then gw_list="${gw_list} nexthop `ip route show table t_${i} | grep "default" | cut -f 2- -d' '` weight 1 " fi done ip route del default ip route add default scope global ${gw_list} fi fi
Собственно всёи на последок файл nat.tat.xz https://drive.google.com/folderview?id=0Bxc-zRqh3G-fYUpvZ0NBNGd4c1E&usp=sharing
2013/08/07
PXE загрузка с помощью GRUB 2
Установка
На момент статьи версия 2.00-15
1. ставим пакет
#apt-get install grub-pc-bin
2. ставим в папку tftp или tmp(потом сами копируете папку)
grub-mknetdir --net-directory=./tftpboot
папка boot должна быть в корне tftp
3. cd tftp
4. cp ./boot/grub/i386-pc/core.0 ./grub.pxe (можно не копировать кому как нравится)
5. прописываем загрузочный файл в dhcp сервере /boot/grub/i386-pc/core.0
6. создаем свой файл конфигурации ./boot/grub/grub.cfg
корень tftp сервера обозначается (pxe)/
Из замечаных косяков
- не грузит файлы больше 32mb
по не понятной причинезагрусчик конектится в не правельном режиме есть расширения протокола tftp - при использовании графического режима при первой попытке запуска любог пункта меню ругается на отсутствие прав на запись.
Вкусняшки
1. после загрузки нажать "c" попадаем в консоль
2. команды
- set переменные которые у нас есть
- export name_set делает переменную глобальной нужно для субменю
Ссылки
http://blog.hostileadmin.com/tag/grub2pxe/
http://www.gnu.org/software/grub/manual/html_node/Network.html
http://www.gnu.org/software/grub/manual/html_node/Security.html
http://ipxe.org/
https://access.redhat.com/site/documentation/en-US/Red_Hat_Enterprise_Linux/6/html/Installation_Guide/s1-netboot-pxe-config-efi.html
В конечном счете отказался в пользу pxelinux т.к. в нем нет указных глюков возможно вернусь к этому вопросу когда выйдет новая версия
2013/08/01
Установка Lotus Notes 8.5.3 на Debian 7 (64-bit)
Очередная статья об установке Lotus-а.
Буду краток.
Статьи которые мне помогли.
Буду краток.
Статьи которые мне помогли.
- http://ddurdle.blogspot.co.uk/2013/01/this-blog-post-is-strictly-about.html
- http://ddurdle.blogspot.co.uk/2012/04/installing-lotus-notes-853-on-linux.html
- http://ddurdle.blogspot.co.uk/2013/01/installing-lotus-notes-853-on-32-bit.html
- И бескрайний гугл.
- Скачиваем с официального сайта файл Lotus_notes853_linuxUb_RU.tar и распаковываем
- мне понадобились ibm-lotus-notes-8.5.3.i586.deb и ibm-lotus-notes-core-ru-8.5.3.i586.deb
- далее выполняем от root пользователя
- распаковываем
dpkg -e ./ibm-lotus-notes-8.5.3.i586.deb ./ibm-lotus-notes-8.5.3.i586/DEBIAN
- правим файл ./ibm-lotus-notes-8.5.3.i586/DEBIAN/control заменяя две строки
Pre-Depends:
Depends: unzip, bash, libart-2.0-2, libasound2, libatk1.0-0, libc6, libfontconfig1, libfreetype6, libgcc1, libgconf2-4, libglib2.0-0, libglib2.0-0, libice6, libjpeg62, libpango1.0-0, libpng12-0, libpopt0, libsm6, libstdc++6, libx11-6, libxcursor1, libxext6, libxft2, libxi6, libxkbfile1, libxml2, libxp6, libxrender1, libxss1, libxt6, libxtst6, libz1, libxinerama1, libxrandr2, libxcomposite1, libxdamage1, libcups2, libavahi-glib1, libgnome-keyring0, libvorbisfile3, libtdb1, libltdl7, libgtk2.0-0, libcanberra0, libgail18
- Накатываем патч из не хватающих файлов (которые не поддерживают multiarch) копируем их в папку ./ibm-lotus-notes-8.5.3.i586/opt/ibm/lotus/notes/
libbonobo-2.so.0 libbonobo-activation.so.4 libbonoboui-2.so.0 libcanberra.so.0 libgailutil.so.18 libgdk_pixbuf-2.0.so.0 libgdk_pixbuf_xlib-2.0.so.0 libgdk-x11-2.0.so.0 libgnome-2.so.0 libgnomecanvas-2.so.0 libgnomeprint-2-2.so.0 libgnomeprintui-2-2.so.0 libgnomeui-2.so.0 libgnomevfs-2.so.0 libgtk-x11-2.0.so.0 libORBit-2.so.0 libORBitCosNaming-2.so.0
- собираем пакет
dpkg -b ./ibm-lotus-notes/ /tmp/ibm-lotus-notes.deb
- Ставим multiarch если не стоит
- Ставим пакет dpkg -i /tmp/ibm-lotus-notes.deb и доставляем зависимости
- Пробуем запустить от пользователя без прав на вопрос в консоль отвечаем "1"
Подписаться на:
Сообщения (Atom)