Доброго времени суток!Есть компьютер под управлением Fedora 16 x86_64 (скоро перейду на 17). Дальше буду называть его клиент. Компьютер находится в локальной сети и доступ в интернет через прокси. Сетевой интерфейс eth0.
Есть сервер под управлением CentOS 5.3 x86_64. Дальше буду называть его сервер. Сервер находится у провайдера и имеет прямой доступ в интернет. Сетевой интерфейс eth0.Необходимо ходить в интернет с клиента через сервер, а не через прокси в локальной сети. При всем при этом также не помешало бы ходить по ресурсам локальной сети.
На сервере развернут OpenVPN и с клиентом установлена связь через VPN.
IP сервера 10.8.0.1 интерфейс tun0.
IP клиента 10.8.0.4 интерфейс tun0.На сервере настроил маскарадинг:
- добавил "net.ipv4.ip_forward = 1" и перезапустил сеть.
- настроил iptables, вот файл "/etc/sysconfig/iptables":# Generated by iptables-save v1.4.7 on Wed Jun 20 15:25:22 2012
*nat
:PREROUTING ACCEPT [780:170741]
:POSTROUTING ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
-A POSTROUTING -s 10.8.0.0/24 -o eth0 -j MASQUERADE
COMMIT
# Completed on Wed Jun 20 15:25:22 2012
# Generated by iptables-save v1.4.7 on Wed Jun 20 15:25:22 2012
*filter
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [42026:9681910]
-A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
-A INPUT -p icmp -j ACCEPT
-A INPUT -i lo -j ACCEPT
-A INPUT -p tcp -m state --state NEW -m tcp --dport 22 -j ACCEPT
-A INPUT -p tcp -m tcp --dport 80 -j ACCEPT
-A INPUT -p udp -m udp --dport 1194 -j ACCEPT
-A INPUT -p udp -m udp --sport 1194 -j ACCEPT
-A INPUT -j REJECT --reject-with icmp-host-prohibited
-A FORWARD -j REJECT --reject-with icmp-host-prohibited
COMMIT
# Completed on Wed Jun 20 15:25:22 2012
После этого я естественно перезагрузил iptables и прописал на клиенте "route add default tun0", но ничего у меня не вышло.
Подскажите пожалуйста что я сделал не так и/или как можно сделать лучше. У сервера внешний IP статический и как я понимаю вместо маскарадинга можно и даже лучше в плане ресурсов истользовать SNAT.
В общем буду очень благодарен за помощь. Статей в интернете перерыл много, но не получалось добиться желаемого результата.Заранее спасибо большое за помощь!
>[оверквотинг удален]
> -A INPUT -p icmp -j ACCEPT
> -A INPUT -i lo -j ACCEPT
> -A INPUT -p tcp -m state --state NEW -m tcp --dport 22
> -j ACCEPT
> -A INPUT -p tcp -m tcp --dport 80 -j ACCEPT
> -A INPUT -p udp -m udp --dport 1194 -j ACCEPT
> -A INPUT -p udp -m udp --sport 1194 -j ACCEPT
> -A INPUT -j REJECT --reject-with icmp-host-prohibited
> -A FORWARD -j REJECT --reject-with icmp-host-prohibited
> COMMITА зачем на сервере форвард отключили, если хотите чтобы через него клиент в сеть ходил
>>- добавил "net.ipv4.ip_forward = 1" и перезапустил сеть.нужно не перезапустиь сеть, а перечитать /etc/sysctl.conf
> А зачем на сервере форвард отключили, если хотите чтобы через него клиент
> в сеть ходилВот тут я и запутался, для этого и выложил содержимое iptables, чтобы было видно где я ошибся и подсказали.
И еще одна вещь мне не понятна и скажем так пугает меня: еогда я прописываю маскарадинг на интерфейс(е) eth0 не смогул ли злоумышленники, знающие мой статический IP в сети интернет воспользоваться моим сервером как шлюзом и сидеть через него в интернете (аля анонимный прокси)?
>> А зачем на сервере форвард отключили, если хотите чтобы через него клиент
>> в сеть ходил
> Вот тут я и запутался, для этого и выложил содержимое iptables, чтобы
> было видно где я ошибся и подсказали.
> И еще одна вещь мне не понятна и скажем так пугает меня:
> еогда я прописываю маскарадинг на интерфейс(е) eth0 не смогул ли злоумышленники,
> знающие мой статический IP в сети интернет воспользоваться моим сервером как
> шлюзом и сидеть через него в интернете (аля анонимный прокси)?Не могут, у в построутенге указана подсеть с которой только это правило будет работать
в форварде тоже лучше указать только свои сети.# Generated by iptables-save v1.4.7 on Wed Jun 20 15:25:22 2012
*nat
:PREROUTING ACCEPT [780:170741]
:POSTROUTING ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
-A POSTROUTING -s 10.8.0.0/24 -o eth0 -j MASQUERADE
COMMIT
# Completed on Wed Jun 20 15:25:22 2012
# Generated by iptables-save v1.4.7 on Wed Jun 20 15:25:22 2012
*filter
:INPUT ACCEPT [0:0]
:FORWARD DROP [0:0]
:OUTPUT ACCEPT [42026:9681910]
-A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
-A INPUT -p icmp -j ACCEPT
-A INPUT -i lo -j ACCEPT
-A INPUT -p tcp -m state --state NEW -m tcp --dport 22 -j ACCEPT
-A INPUT -p tcp -m tcp --dport 80 -j ACCEPT
-A INPUT -p udp -m udp --dport 1194 -j ACCEPT
-A INPUT -p udp -m udp --sport 1194 -j ACCEPT
-A INPUT -j REJECT --reject-with icmp-host-prohibited
-A FORWARD -s 10.8.0.0/24 -j ACCEPT
-A FORWARD -d 10.8.0.0/24 -j ACCEPT
COMMIT
# Completed on Wed Jun 20 15:25:22 2012
Спасибо большое! Теперь я спокоен. А если IP статический, то наверное лучше не маскарадинг а SNAT? Или я что-то путаю? Если лучше SNAT, то не подскажете как его прописать правильно?> Не могут, у в построутенге указана подсеть с которой только это правило
> будет работать
> в форварде тоже лучше указать только свои сети.
Что-то ничего у меня не получается :( и куда копать не знаю. пакеты не ходят через удаленный сервер.
По шагам не мог бы кто-нибудь знающий написать что я должен сделать?
Заранее спасибо!
В общем разобрался, т.к. у меня OpenVPN настроен как tun, то я должен был шлюзом указывать не 10.8.0.1, а 10.8.0.3 ip для ip 10.8.0.4 и/или 10.8.0.5 для 10.8.0.6 соответственно :)Всем огромное спасибо!!!
> В общем разобрался, т.к. у меня OpenVPN настроен как tun, то я
> должен был шлюзом указывать не 10.8.0.1, а 10.8.0.3 ip для ip
> 10.8.0.4 и/или 10.8.0.5 для 10.8.0.6 соответственно :)
> Всем огромное спасибо!!!Мдя? И работает? если у сервера 10.8.0.1 то это и есть шлюз.
И если у Вас что-то не работало,покажите сначала вывод клмандping ya.ru
ping 87.250.251.3