В Linux второй день, в наличии имею сборную солянку, которую постараюсь описать максимально правдоподобно. Загородный дом с интернетом, динамический адрес, еще и спрятан за провайдерскими шлюзами. Стоит роутер, к которому подключены IP-камеры, ubuntu server (ftp, samba, ssh). На сервере - OpenVPN клиент, который подключается к находящемуся в городе серверу. Сервер имеет фиксированный ИП и я предполагал через него выходить на сервер в деревенском доме.
что сейчас работает - загородный сервер цепляется по OpenVPN к городскому серверу и я с городского имею доступ к загородному серверу по адресу локалки.
Что хотелось бы - с городского сервера иметь доступ к загородним камерам. предполагал, что просто тупо порты пробросить на загороднем сервере будет достаточно, но нет.
конфиги:
Городской сервер, IP 192.168.0.100 server.ovpn
port 1194
proto tcp
dev tap
dev-node tap
ca "C:\\Program Files\\OpenVPN\\easy-rsa\\keys\\ca.crt"
cert "C:\\Program Files\\OpenVPN\\easy-rsa\\keys\\server.crt"
key "C:\\Program Files\\OpenVPN\\easy-rsa\\keys\\server.key" # This file should be kept secret
dh "C:\\Program Files\\OpenVPN\\easy-rsa\\keys\\dh1024.pem"
server-bridge 192.168.0.1 255.255.255.0 192.168.0.180 192.168.0.190
ifconfig-pool-persist ipp.txt
client-to-client
keepalive 10 120
comp-lzo
persist-key
persist-tun
status openvpn-status.log
verb 3
загородный сервер, свой ИП 192.168.1.101, клиент OpenVPN ИП 192.168.0.182
client
remote x.x.x.x port
ca /media/keys/ca.crt
key /media/keys/qq.key
cert /media/keys/qq.crt
dev tap
proto tcp
comp-lzo
persist-key
persist-tun
status openvpn-status.log
log /var/log/openvpn.log
verb 3
mute 20
соединение openvpn устанавливается, доступ к ssh загороднего сервера по адресу локалки (192.168.0.182) есть.
вывод ifconfig -
root@Storage:~# ifconfig
eth4 Link encap:Ethernet HWaddr 00:0e:a6:ae:80:92
inet addr:192.168.1.101 Bcast:192.168.1.255 Mask:255.255.255.0
inet6 addr: fe80::20e:a6ff:feae:8092/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:3709910 errors:0 dropped:0 overruns:0 frame:0
TX packets:3153182 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:883255294 (883.2 MB) TX bytes:229753125 (229.7 MB)
lo Link encap:Локальная петля (Loopback)
inet addr:127.0.0.1 Mask:255.0.0.0
inet6 addr: ::1/128 Scope:Host
UP LOOPBACK RUNNING MTU:65536 Metric:1
RX packets:10346 errors:0 dropped:0 overruns:0 frame:0
TX packets:10346 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:635190 (635.1 KB) TX bytes:635190 (635.1 KB)
tap0 Link encap:Ethernet HWaddr ba:ee:86:70:59:a1
inet addr:192.168.0.182 Bcast:192.168.0.255 Mask:255.255.255.0
inet6 addr: fe80::b8ee:86ff:fe70:59a1/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:3124420 errors:0 dropped:868651 overruns:0 frame:0
TX packets:26445 errors:0 dropped:288 overruns:0 carrier:0
collisions:0 txqueuelen:100
RX bytes:521179270 (521.1 MB) TX bytes:7150869 (7.1 MB)
что сделано - пробовал пробросить 80 порт на примере доступа к web интерфейсу роутера, который за городом
#!/bin/bash
echo 1 > /proc/sys/net/ipv4/ip_forward
iptables -t nat -F
iptables -t nat -A PREROUTING -d 192.168.0.182 -p tcp --dport 80 -j DNAT --to-destination 192.168.1.1:80
iptables -t nat -A POSTROUTING -d 192.168.1.1 -p tcp --dport 80 -j SNAT --to-source 192.168.0.182
результат - отрицательный. что я не сделал/не так сделал?