Nie jesteś zalogowany.
Jeśli nie posiadasz konta, zarejestruj je już teraz! Pozwoli Ci ono w pełni korzystać z naszego serwisu. Spamerom dziękujemy!
Prosimy o pomoc dla małej Julki — przekaż 1% podatku na Fundacji Dzieciom zdazyć z Pomocą.
Więcej informacji na dug.net.pl/pomagamy/.
Strony: 1
Próbuję właśnie sobie skonfigurować VPN po SSH. Generalnie rzecz biorąc, to udało mi się przepchnąć cały ruch po SSH i wszystko działa jak należy. Teraz chciałem ten cały mechanizm wpiąć na jedno polecenie ifup. Wtedy po wydaniu "ifup tun9" na kliencie, tunel by został zestawiony, a trasy odpowiednio skonfigurowane. Problem w tym, że by mi ten VPN działał tak jak chcę to muszę dodać min. trasę typu:
ip route add 11.22.33.44/32 via 192.168.1.1
Ten 11.22.33.44, to jest adres zewnętrzny mojego serwera, zaś 192.168.1.1 to adres bramy domyślnej klienta na jego zewnętrznym interfejsie sieciowym
Jeśli dodałbym do pliku /etc/network/interfaces ten powyższy wpis, to podniesienie interfejsu tun9 oczywiście zadziała ale tylko dla tej konkretnej konfiguracji sieciowej. Gdy wpiąłbym się do innej sieci, która będzie miała inną bramę, to wtedy trzeba by znowu edytować plik /etc/network/interfaces i ten wpis dostosować.
Pytanie jest zatem, jak adres tej bramy domyślnej ustalić, by wykorzystać go w konfiguracji interfejsów w pliku /etc/network/interfaces ?
Ostatnio edytowany przez morfik (2016-12-11 14:09:15)
Offline
interfaces ma uchwyty pre-up, ip-up, post-up, pre-down, ip-down, ale i tak chyba łatwiej to ogarniesz, jak całość odpalisz skryptem, w którym całość komend naskrobiesz z palca.
W takim przypadku adres IP to może być zmienna wytargana z dowolnego testu.
np zewn IP:
MOJEIP=$( curl checkip.dyndns.org 2>/dev/null |sed -e 's/.*Current IP Address: //' -e 's/<.*$//');
A to do ssh Andkowego, kiedy ma losowy mac i IP:
declare ANDEKIP=$(arp -a -n | grep -v incomplete | grep -E -o "(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)")
Wersja tymczasowa.
Adres bamy wytargasz z polecenia ifconfig, ip albo route.
np tak:
https://www.cyberciti.biz/faq/how-to-find-out-the-ip-address-assigned-to-eth0-and-display-ip-only/
Ostatnio edytowany przez Jacekalex (2016-12-11 14:01:17)
Offline
W sumie to mi ten SSH-VPN sprowadził się do:
iface tun9 inet static pre-up ssh -S /var/run/ssh-vpn-tunnel-control -M -f -w 9:9 root@11.22.33.44 -p 22 'ifdown tun9; ifup tun9' pre-up sleep 5 address 10.100.0.2 pointopoint 10.100.0.1 netmask 255.255.255.255 up ip route add 10.100.0.0/24 via 10.100.0.2 up ip route add 11.22.33.44/32 via 192.168.1.1 up ip route add 0.0.0.0/1 via 10.100.0.1 dev $IFACE up ip route add 128.0.0.0/1 via 10.100.0.1 dev $IFACE down ip route del 10.100.0.0/24 via 10.100.0.2 down ip route del 11.22.33.44/32 via 192.168.1.1 down ip route del 0.0.0.0/1 via 10.100.0.1 dev $IFACE down ip route del 128.0.0.0/1 via 10.100.0.1 dev $IFACE post-down ssh -S /var/run/ssh-vpn-tunnel-control -O exit root@11.22.33.44 -p 22
No i do tego prosta konfiguracja interfejsu tun9 na serwerze. Całość działa bez problemu ale nadal nie wiem jak ten 192.168.1.1 dobrać dynamicznie. xD
Offline
Zmień 192.168.1.1 na zmienną, którą wytargasz z jakiegoś testu.
Nie wiem, co prawda, czy w interfaces to łyknie, ale w mniejszym lub większym skrypcie pójdzie bez problemu.
Offline
Do czasu Ipv6 (od roku do 5 lat) powinno wystarczyć. xD
PS:
ip route show | grep default |awk '{print $3}'
tak jest ładniej, choć też lamerstwo. ;P
A tak jest prawidłowo:
ip route show | awk '$1 =="default" {print $3}'
xD
Ostatnio edytowany przez Jacekalex (2016-12-11 14:12:00)
Offline
Strony: 1
Time (s) | Query |
---|---|
0.00011 | SET CHARSET latin2 |
0.00004 | SET NAMES latin2 |
0.00114 | SELECT u.*, g.*, o.logged FROM punbb_users AS u INNER JOIN punbb_groups AS g ON u.group_id=g.g_id LEFT JOIN punbb_online AS o ON o.ident='52.14.209.100' WHERE u.id=1 |
0.00069 | REPLACE INTO punbb_online (user_id, ident, logged) VALUES(1, '52.14.209.100', 1732739242) |
0.00053 | SELECT * FROM punbb_online WHERE logged<1732738942 |
0.00097 | SELECT topic_id FROM punbb_posts WHERE id=307489 |
0.00090 | SELECT id FROM punbb_posts WHERE topic_id=29221 ORDER BY posted |
0.00060 | SELECT t.subject, t.closed, t.num_replies, t.sticky, f.id AS forum_id, f.forum_name, f.moderators, fp.post_replies, 0 FROM punbb_topics AS t INNER JOIN punbb_forums AS f ON f.id=t.forum_id LEFT JOIN punbb_forum_perms AS fp ON (fp.forum_id=f.id AND fp.group_id=3) WHERE (fp.read_forum IS NULL OR fp.read_forum=1) AND t.id=29221 AND t.moved_to IS NULL |
0.00006 | SELECT search_for, replace_with FROM punbb_censoring |
0.00082 | SELECT u.email, u.title, u.url, u.location, u.use_avatar, u.signature, u.email_setting, u.num_posts, u.registered, u.admin_note, p.id, p.poster AS username, p.poster_id, p.poster_ip, p.poster_email, p.message, p.hide_smilies, p.posted, p.edited, p.edited_by, g.g_id, g.g_user_title, o.user_id AS is_online FROM punbb_posts AS p INNER JOIN punbb_users AS u ON u.id=p.poster_id INNER JOIN punbb_groups AS g ON g.g_id=u.group_id LEFT JOIN punbb_online AS o ON (o.user_id=u.id AND o.user_id!=1 AND o.idle=0) WHERE p.topic_id=29221 ORDER BY p.id LIMIT 0,25 |
0.00110 | UPDATE punbb_topics SET num_views=num_views+1 WHERE id=29221 |
Total query time: 0.00696 s |