sshd i kilka IP
-
- Posty: 5
- Rejestracja: 13 grudnia 2008, 13:49
sshd i kilka IP
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?
Szczyt lenistwa moim zdaniem.
Zerknij tu, już na pierwszym ekranie poznasz odpowiedź na swoje pytanie.
Zerknij tu
Kod: Zaznacz cały
man ssh
-
- Posty: 5
- Rejestracja: 13 grudnia 2008, 13:49
Chyba nie zrozumiałeś problemu.
Jest sobie komputer A i serwer B.
Na A daję takie polecenieNa 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.
Jest sobie komputer A i serwer B.
Na A daję takie polecenie
Kod: Zaznacz cały
ssh -D 1234 jakisuser@B
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.
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.
Myślałem, że na maszynie masz dwa IP i raz chcesz wychodzić przez jeden a innym razem przez drugi; wtedy masz opcję
Kod: Zaznacz cały
-b
-
- Posty: 5
- Rejestracja: 13 grudnia 2008, 13:49
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:
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.
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
Wcześniej pisałem -D 1234 bo robię sobie socks proxy przez ssh, ale to chyba nie ma znaczenia w tym przypadku.
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.
LINK
Być może nieco Ci to pomoże, daj znać jak Ci poszło bo temat jest ciekawy.
Ja bym pokombinował z iptables, moduł owner.
Z manuala iptables:
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.
-
- Posty: 5
- Rejestracja: 13 grudnia 2008, 13:49