Если Вы будете использовать чистую Cisco VPN и будете иметь пароль на Вашем маршрутизаторе/переключателе, однако Ваш вход или есть ли у Вас сервер, содержащий пользователей, необходимо будет войти в систему machiene, чтобы остаться подключенными к VPN, если Вы входите в систему как пользователь Windows, был бы, если Вы находитесь на автономных машинах затем, полномочия могут варьироваться на машине к машине, остается ли Ваш аккомпанемент связанным с VPN. Ваш ответ по платформам должен быть да, пока у Вас есть клиент.
Прежде всего убедитесь, что в ядре включена пересылка пакетов
# echo 1 > /proc/sys/net/ipv4/ip_forward
Вы также можете сделать его постоянным, добавив строку ниже в /etc/sysctl.conf
net.ipv4.ip_forward = 1
. Вы должны сделать это на Linux Machine, выступающей в качестве маршрутизатора. Вы можете попробовать следующее правило на маршрутизаторе.
iptables -t nat -A PREROUTING -i eth1 -d x.x.x.x -p tcp --dport 22 -j DNAT --to-destination 192.168.1.2:22
Также сообщите нам вывод ваших правил NAT из окна маршрутизатора.
iptables -t nat -L -n -v
Прежде всего, включите маршрутизацию в Linux шлюз:
echo 1 > /proc/sys/net/ipv4/ip_forward
Затем добавьте следующие правила с вашим сетевым интерфейсом (например, eth1) и желаемыми портами:
iptables -A PREROUTING -t nat -i eth1 -p tcp --dport 80 -j DNAT --to 192.168.1.2
iptables -A PREROUTING -t nat -i eth1 -p tcp --dport 22 -j DNAT --to 192.168.1.2
iptables -A FORWARD -p tcp -d 192.168.1.2 --dport 80 -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT
iptables -A FORWARD -p tcp -d 192.168.1.2 --dport 22 -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT
Проверьте свои правила с помощью iptables -L -v
, столбцы pkts и bytes покажут вам какие правила согласовываются.
Основываясь на этом замечательном руководстве DigitalOcean о том, как перенаправлять порты, я решил переписать его здесь.
Я потратил много часов на изучение того, как это работает .. Я новичок в Linux, и начинать не всегда легко .. Вот пример моих серверов и его переадресации портов:
Сервер межсетевого экрана (2 карты NIC ) - сведения о сети:
Внутренний (например, ssh, веб) сервер (1 NIC-карта) - сведения о сети:
Решение:
Включить пересылку пакетов в ядре:
echo 1 > /proc/sys/net/ipv4/ip_forward
Определить переменные:
# Admin IP address (e.g. public home ip)
ADMIN="aa.aa.aa.aa"
# IP addresses of servers (e.g. in cloud):
FW_eth0_ip="xx.xx.xx.xx"
FW_eth1_ip="yy.yy.yy.yy"
WEB_eth0_ip="zz.zz.zz.zz"
# Services:
SSH="22"
HTTP="80"
Переадресация портов Iptables (с -m conntrack):
iptables -t nat -A PREROUTING -i eth0 -s $ADMIN -d $FW_eth0_ip -p tcp --dport $SSH -j DNAT --to-destination $WEB_eth0_ip
iptables -A FORWARD -i eth0 -o eth1 -p tcp --syn --dport $SSH -m conntrack --ctstate NEW -j ACCEPT
iptables -A FORWARD -i eth0 -o eth1 -p tcp --dport $SSH -m conntrack --ctstate ESTABLISHED -j ACCEPT
iptables -A FORWARD -i eth1 -o eth0 -p tcp --sport $SSH -m conntrack --ctstate ESTABLISHED -j ACCEPT
iptables -t nat -A POSTROUTING -o eth1 -p tcp --dport $SSH -d $WEB_eth0_ip -j SNAT --to-source $FW_eth1_ip
Несколько примечаний:
терминал:
# access firewall server
$ ssh sancro@xx.xx.xx.xx -p 15xx1
# access internal server
$ ssh sancro@xx.xx.xx.xx -p 15xx2
Подробнее об используемых правилах прекрасно описаны в упомянутом руководстве.
Это все, что я написал, надеюсь, это поможет вам.
Хотя этот вопрос касается iptables, если у вас также работает FirewallD, вот как получить доступ к HTTP во внутренней сети.
Сначала разрешите http-трафик на вашем внутреннем сервере FirewallD:
# firewall-cmd --permanent --add-service=http
Затем перенаправьте HTTP-трафик с внешнего IP-адреса на порт 80 внутреннего IP-адреса:
# firewall-cmd --permanent --add-forward-port=port=80:proto=tcp:toaddr=10.0.0.11
То же самое можно сделать для службы SSH.