Strona 1 z 2

sshd i kilka IP

: 13 grudnia 2008, 13:49
autor: andrzejlab
Mam dwa IP na jednym interfejsie. Po połączeniu się przez ssh, bądź zrobieniu tunelu przez ssh, wszystkie połączenia wychodzące są z IP głównego, jak ustawić aby dla konkretnego jednego użytkownika X połączenia wychodzące były realizowane przez drugie IP, które jest jako alias, a dla całej reszty z głównego IP?

: 13 grudnia 2008, 17:36
autor: markossx
Szczyt lenistwa moim zdaniem.
Zerknij tu

Kod: Zaznacz cały

man ssh
, już na pierwszym ekranie poznasz odpowiedź na swoje pytanie.

: 13 grudnia 2008, 17:46
autor: andrzejlab
Chyba nie zrozumiałeś problemu.
Jest sobie komputer A i serwer B.
Na A daję takie polecenie

Kod: Zaznacz cały

ssh -D 1234 jakisuser@B
Na A mam jeden ip

Na B mam dwa ip i teraz chcę, żeby dla ,,jakiegoś użytkownika'' wszystko z B wychodziło drugim IP, a dla każdego innego użytkownika głównym IP.

: 13 grudnia 2008, 18:47
autor: markossx
Faktycznie nie załapałem właściwie, przepraszam.
Myślałem, że na maszynie masz dwa IP i raz chcesz wychodzić przez jeden a innym razem przez drugi; wtedy masz opcję Ale nie wiem czy nadal rozumiem: bo przy założeniu, że B ma ip x i y nie może użytkownik łączyć się raz do x, a inny użytkownik do y? Wtedy do jednego B będzie wysyłał dane przez x, a do innego użytkownika przez y.

: 13 grudnia 2008, 19:03
autor: andrzejlab
wyjaśnię jeszcze raz:
IP komputera A nie ma żadnego znaczenia
i teraz z komputera A łącze się do serwera B.
Na serwerze B mam tak:

Kod: Zaznacz cały

auto eth0:0
iface eth0:0 inet static
        address *.*.*.1
        netmask 255.255.255.255
        broadcast 0.0.0.0

auto eth0:1
iface eth0:1 inet static
        address *.*.*.2
        netmask 255.255.255.255
        broadcast 0.0.0.0
i teraz jak już jestem zalogowany na ssh serwera B i zrobię np wget http://onet.pl to żadanie idzie z adresu *.*.*.1, a chcę, żeby szło z *.*.*.2, ale tylko dla jednego konkretnego usera, a dla całej reszty, która będzie się logowała na serwer B połączenia mają wychodzić przez *.*.*.1

Wcześniej pisałem -D 1234 bo robię sobie socks proxy przez ssh, ale to chyba nie ma znaczenia w tym przypadku.

: 13 grudnia 2008, 19:13
autor: markossx
No teraz zakumałem w 100% jednak sprawa wydaje się dość skomplikowana ale nie niemożliwa do wykonania, poszperałem trochę i wynalazłem coś takiego:
LINK
Być może nieco Ci to pomoże, daj znać jak Ci poszło bo temat jest ciekawy.

: 14 grudnia 2008, 11:23
autor: RaV.
Ja bym pokombinował z iptables, moduł owner.
Z manuala iptables:

Kod: Zaznacz cały

   owner
       This module attempts to match various characteristics of the packet creat
or, for locally generated  packets.  This  match  is  only
       valid  in  the  OUTPUT  and  POSTROUTING chains. Forwarded packets do not
 have any socket associated with them. Packets from kernel
       threads do have a socket, but usually no owner.

       [!] --uid-owner username

       [!] --uid-owner userid[-userid]
              Matches if the packet socket's file structure (if it has one) is o
wned by the given user. You may also specify  a  numerical
              UID, or an UID range.

       [!] --gid-owner groupname

       [!] --gid-owner groupid[-groupid]
              Matches  if  the packet socket's file structure is owned by the given group. 
You may also specify a numerical GID, or a GID range.

       [!] --socket-exists
              Matches if the packet is associated with a socket.


: 14 grudnia 2008, 20:20
autor: andrzejlab
A da się jakoś korzystać z tego mod owner na Debianie stable 2.6.18 bez ingerencji w jądro? Nie mam takiej możliwości, gdyż serwer to vps i jądro jest wspólne dla wszystkich.

: 15 grudnia 2008, 08:39
autor: markossx
Dobre rozwiązanie!
Zerknij do /lib/iptables, jeśli jest tam libipt_owner.so to pójdzie bez problemu...

: 15 grudnia 2008, 10:18
autor: RaV.
markossx pisze:Zerknij do /lib/iptables, jeśli jest tam libipt_owner.so to pójdzie bez problemu...
Dodajmy jeszcze, że jeśli nie ma, to trzeba będzie rzec "Hjuston masz problem" ;) bo będziesz musiał poprosić kogoś, jeśli sam nie możesz, o dokompilowanie do kernela paru modułów...