Я не могу понять это.
Как предоставить выбранным 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