Я изо всех сил пытаюсь получить доступ к Интернету с моего удаленного компьютера. Я хотел бы получить доступ к удаленному компьютеру через ssh
и иметь доступ в Интернет для установки пакетов и т. Д.
Это выглядит так:
(Internet) <--wlan0--> ((Local Computer)) <--eth0--> ((Remote Computer))
На обоих компьютерах работает Linux с Ubuntu trusty.
IP-адреса компьютеров:
Локальный компьютер:
wlan0: 10.2.217.213
eth0: 192.168.1.10 (fixed)
Удаленный компьютер:
eth0: 192.168.1.13 (fixed)
Могу ли я просто перенаправить порт, через который я получаю соединение, к Интернет на моем локальном компьютере? Как я могу определить этот порт?
Я рад за вашу помощь! Я не эксперт по сетям, уже несколько часов гуглюсь и безуспешно пробую переадресацию, мостовую связь, sshuttle и т. Д.
Большое спасибо,
Йонас
Используйте этот набор правил iptables настроить Ваш локальный компьютер как маршрутизатор NAT:
iptables -P INPUT DROP # drop every INPUT
iptables -P FORWARD DROP # drop every FORWARD
iptables -A INPUT -i lo -j ACCEPT # accept loopback-INPUT
iptables -A INPUT -i eth0 -j ACCEPT # accept eth0 INPUT
iptables -t nat -A POSTROUTING -o wlan0 -j MASQUERADE # NAT-Translation
iptables -A FORWARD -i eth0 -j ACCEPT # accept FORWARD-Traffic from eth0
iptables -A FORWARD -i wlan0 -o eth0 -m state --state ESTABLISHED,RELATED -j ACCEPT # accept FORWARD-Traffic as reply for existing connections
iptables -A INPUT -i wlan0 -m state --state ESTABLISHED,RELATED -j ACCEPT # allow the local computer to access the internet
iptables -A INPUT -i wlan0 -p icmp --icmp-type echo-request -j ACCEPT # allow pings on wlan0
echo "1" > /proc/sys/net/ipv4/ip_forward
не копируют эти правила, не проверяя их сначала. Используйте корневой Shell (например, sudo -s
) для применения этих правил к iptables.
Не забывают устанавливать Ваш локальный компьютер как шлюз для удаленного.
Предложение, что оба - машины Linux, необходимо будет настроить маршрутизацию на локальном компьютере, который означает, по крайней мере, устанавливать этот параметр ядра:
echo "1" > /proc/sys/net/ipv4/ip_forward
(Это - не постоянная установка, это - перезагрузка, за которой следуют. Поместите эту строку в /etc/rc.local
, например, для делания этого всегда на запуске.)
удаленному компьютеру нужно было настроить локальный компьютер как его шлюз по умолчанию.
В зависимости от конфигурации Вашего локального компьютера, Вам, возможно, придется настроить iptables к определенным вещам, например, NAT. Но в основном это не должно быть необходимо. Кроме того, маршрутизатор между Интернетом и Вашим локальным компьютером, возможно, должен был бы знать маршрут к eth0-network
(192.168.1.0/24
?)
РЕДАКТИРОВАНИЕ: Я забыл главное: Предположение, что у Вас есть маршрутизатор NAT между Интернетом и локальным компьютером и и Вы установили маршрут на том маршрутизаторе интернета к Вашему eth0-network
, можно настроить portforwarding для ssh
непосредственно к 192.168.1.13
.
я надеюсь, что это помогает!