4

Я не могу понять это.
Как предоставить выбранным VPN-пользователям доступ к интернету через eth0? Весь трафик сервера идет через eth1.
Предполагается, что eth0 предоставляет VPN-пользователям доступ в Интернет только на выбранных портах и ничего более.
Пользователи подключаются через eth1 и получают IP-адрес в tun0 с индивидуальными настройками, это один из пользовательских ccd:

ifconfig-push 192.168.200.5 192.168.200.6
нажмите "redirect-gateway def1"

пользовательский конфиг

клиент

Dev Tun

прото удп

удаленный 192.168.0.55 1194

разрешить-повторить бесконечный

постоянный ключ постоянный ключ

ca ca.crt cert client.crt ключ client.key

сервер ns-cert-типа

tls-auth ta.key 1

Comp-LZO

глагол 3

Конфигурация сервера:

местный 192.168.0.55

порт 1194

прото удп

Dev Tun

ca ca.crt cert server.crt ключ server.key

dh1024.pem

сервер 192.168.200.0 255.255.255.0

ifconfig-pool-persist ipp.txt

клиент-клиент

keepalive 10 120

tls-auth ta.key 0

Comp-LZO

Макс-клиенты 10

постоянный ключ постоянный ключ

Мои текущие правила таблицы IP:

# Очистить все
iptables -F
iptables -X
iptables -t nat -F
iptables -t nat -X
iptables -t mangle -F
iptables -t mangle -X

#Позволять все
iptables -P ВВОД ПРИНЯТЬ
iptables -P FORWARD ACCEPT
iptables -P ВЫХОД ПРИНЯТЬ

# Разрешить петлю
iptables -A INPUT -i lo -j ПРИНЯТЬ

# Заблокировать все входящие на eth0 и разрешить установленные соединения
iptables -A INPUT -i eth0 -j DROP
iptables -A INPUT -i eth0 -m состояние - УСТАНОВЛЕНО, СВЯЗАНО -j ПРИНЯТЬ

Переадресация включена:

sysctl net.ipv4.ip_forward = 1



После нескольких часов работы в Google (https://community.openvpn.net/openvpn/wiki/BridgingAndRouting) я подумал, что это правильный путь, но он не работает:

# Разрешить трафику, инициированному из VPN, доступ к "миру"
iptables -I FORWARD -i tun0 -o eth0 \-s 192.168.200.0/24 -m conntrack --ctstate НОВОЕ -j ПРИНЯТЬ

# Allow established traffic to pass back and forth
iptables -I FORWARD -m conntrack --ctstate RELATED,ESTABLISHED \
     -j ACCEPT

# Masquerade traffic from VPN to "the world" -- done in the nat table
iptables -t nat -I POSTROUTING -o eth0 \
      -s 192.168.200.0/24 -j MASQUERADE


Помощь приветствуется :)

Карта сети http://s27.postimg.org/7do7o8ob7/network_map.gif

1 ответ1

1

Вам также необходимо настроить таблицу маршрутизации политики, которая указывает Linux использовать шлюз по умолчанию за eth0 для пользователей VPN.

Таким образом, вы должны создать новую таблицу маршрутизации для пакетов с IP-адресом источника в 192.168.200.0/24 и сделать шлюз по умолчанию для этой таблицы маршрутизации шлюзом по умолчанию за eth0.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .