IP forwarding over OpenVPN (tun0) with external forwarded ports

I am trying to конфигурировал в very basic routing setup with Убунту Сервер 15.04.

I have an internal интерфейс p4p1 (IP 192.168.0.23) and в working OpenVPN connection using tun0.

I want to forward all traffic from p4p1 through to tun0 and the Интернет so that my entire network gets the benefits of the OpenVPN connection - nothing new I know.

Obviously this is в common thing and there пахал guides around the net, I followed this guide: https://help.ubuntu.com/community/Router. Specifically "4.5. Enable IP forwarding and Masquerading" and it all works эксперт expected - except my externally forwarded ports do not work any обитал. From that article this is the рукописный шрифт I am using:

echo -e "\n\nLoading simple rc.firewall-iptables version $FWVER..\n"
DEPMOD=/sbin/depmod
MODPROBE=/sbin/modprobe

EXTIF="tun0"
INTIF="p4p1"

echo "   External Interface:  $EXTIF"
echo "   Internal Interface:  $INTIF"

#======================================================================
#== No editing beyond this line is required for initial MASQ testing == 
echo -en "   loading modules: "
echo "  - Verifying that all kernel modules are ok"
$DEPMOD -a
echo "----------------------------------------------------------------------"
echo -en "ip_tables, "
$MODPROBE ip_tables
echo -en "nf_conntrack, " 
$MODPROBE nf_conntrack
echo -en "nf_conntrack_ftp, " 
$MODPROBE nf_conntrack_ftp
echo -en "nf_conntrack_irc, " 
$MODPROBE nf_conntrack_irc
echo -en "iptable_nat, "
$MODPROBE iptable_nat
echo -en "nf_nat_ftp, "
$MODPROBE nf_nat_ftp
echo "----------------------------------------------------------------------"
echo -e "   Done loading modules.\n"
echo "   Enabling forwarding.."
echo "1" > /proc/sys/net/ipv4/ip_forward
echo "   Enabling DynamicAddr.."
echo "1" > /proc/sys/net/ipv4/ip_dynaddr 
echo "   Clearing any existing rules and setting default policy.."

iptables-restore <<-EOF
*nat
-A POSTROUTING -o "$EXTIF" -j MASQUERADE
COMMIT
*filter
:INPUT ACCEPT [0:0]
:FORWARD DROP [0:0]
:OUTPUT ACCEPT [0:0]
-A FORWARD -i "$EXTIF" -o "$INTIF" -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT 
-A FORWARD -i "$INTIF" -o "$EXTIF" -j ACCEPT
-A FORWARD -j LOG
COMMIT
EOF

echo -e "\nrc.firewall-iptables v$FWVER done.\n"

Путь my VPN provider I have two ports forwarded so I хан access various services on my Убунту Сервер путь the VPN connection. When I don't have IP forwarding and Masquerading enabled (путь the рукописный шрифт in that article) it all works эксперт expected but эксперт soon эксперт I использовал that рукописный шрифт the forwarded ports do not work.

гve obviously missed something and do not know enough about iptables to фигурировал out how I хан still forward traffic from p4p1 to tun0 and still allow external access путь the forwarded ports.

Any help would be greatly appreciated - if yoгd be willing to provide an explanation of the solution you provide I would love to understand whats going on further.

Thank you!

0
задан 7 January 2016 в 22:14

1 ответ

Ваша проблема, вероятно, происходит из-за следующего правила:

-A FORWARD -i "$EXTIF" -o "$INTIF" -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT 

Это только принимает RELATED или ESTABLISHED передача соединений в tun0 (внешний) интерфейс и из p4p1 (внутренний) интерфейс, поэтому когда вне соединений пытаются соединиться с Вашим переданным порту обслуживанием, соединением, отбрасывается, потому что это NEW. Необходимо изменить то правило или исключить conntrack модуль в целом или включать NEW параметр.

Любой из двух ниже правил должен решить Вашу проблему:

-A FORWARD -i "$EXTIF" -o "$INTIF" -j ACCEPT

-A FORWARD -i $EXTIF -o $INTIF -m conntrack --ctstate NEW,RELATED,ESTABLISHED -j ACCEPT

Надеюсь, это поможет

0
ответ дан 29 September 2019 в 16:56

Другие вопросы по тегам:

Похожие вопросы: