Форум русскоязычного сообщества Ubuntu


Увидели сообщение с непонятной ссылкой, спам, непристойность или оскорбление?
Воспользуйтесь ссылкой «Сообщить модератору» рядом с сообщением!

Автор Тема: Блокирование не-VPN-траффика при помощи iptables  (Прочитано 2429 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн Setto

  • Автор темы
  • Новичок
  • *
  • Сообщений: 4
    • Просмотр профиля
Задача - порезать траффик при отключении ВПН-соединения

Есть сервер ВПН (89.223.109.76) и скрипт:
iptables -F

iptables -A INPUT -i tun+ -j ACCEPT
iptables -A OUTPUT -o tun+ -j ACCEPT

iptables -A INPUT -s 127.0.0.1 -j ACCEPT
iptables -A OUTPUT -d 127.0.0.1 -j ACCEPT

iptables -A INPUT -s 10.123.36.232 -j ACCEPT
iptables -A OUTPUT -d 10.123.36.232 -j ACCEPT

iptables -A INPUT -j DROP
iptables -A OUTPUT -j DROP
Вроде все должно быть просто, но в итоге интернета нет. Подскажите, что я делаю не так?

Стырил скрипт отсюда: https://www.privateinternetaccess.com/forum/index.php?p=/discussion/35/block-non-vpn-traffic-on-linux-with-iptables-protect-against-disconnect/p1
« Последнее редактирование: 23 Июля 2013, 20:19:20 от Setto »

Оффлайн fisher74

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 13756
    • Просмотр профиля
Предоставляете информацию не так.
Показывайте
ifconfig -a
sudo iptables-save


Ну и задачу почетче озвучьте, а то я, если честно, немного плыву в Вашем описании...

Оффлайн Setto

  • Автор темы
  • Новичок
  • *
  • Сообщений: 4
    • Просмотр профиля
Прошу прощения.
Я работаю, используя ВПН-соединение к удаленному серверу, оно иногда падает и светится левый айпишник. Задача в том, чтобы ограничить траффик при падении ВПНа.

ifconfig -a
lo        Link encap:Локальная петля (Loopback) 
          inet addr:127.0.0.1  Mask:255.0.0.0
          inet6 addr: ::1/128 Scope:Host
          UP LOOPBACK RUNNING  MTU:65536  Metric:1
          RX packets:6836 errors:0 dropped:0 overruns:0 frame:0
          TX packets:6836 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:501348 (501.3 KB)  TX bytes:501348 (501.3 KB)

ppp0      Link encap:Протокол PPP (Point-to-Point Protocol) 
          inet addr:10.123.36.232  P-t-P:10.121.128.1  Mask:255.255.255.255
          UP POINTOPOINT RUNNING NOARP MULTICAST  MTU:1400  Metric:1
          RX packets:47 errors:0 dropped:0 overruns:0 frame:0
          TX packets:66 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:3
          RX bytes:6651 (6.6 KB)  TX bytes:17414 (17.4 KB)

wlan0     Link encap:Ethernet  HWaddr c4:85:08:82:b5:d6 
          inet addr:192.168.1.4  Bcast:192.168.1.255  Mask:255.255.255.0
          inet6 addr: fe80::c685:8ff:fe82:b5d6/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:89765 errors:0 dropped:0 overruns:0 frame:0
          TX packets:75602 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:86521768 (86.5 MB)  TX bytes:12869083 (12.8 MB)


sudo iptables-save
*filter
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
-A INPUT -i tun+ -j ACCEPT
-A INPUT -s 127.0.0.1/32 -j ACCEPT
-A INPUT -s 89.223.109.76/32 -j ACCEPT
-A INPUT -j DROP
-A OUTPUT -o tun+ -j ACCEPT
-A OUTPUT -d 127.0.0.1/32 -j ACCEPT
-A OUTPUT -d 89.223.109.76/32 -j ACCEPT
-A OUTPUT -j DROP
COMMIT
# Completed on Tue Jul 23 20:29:54 2013

Оффлайн fisher74

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 13756
    • Просмотр профиля
А ppp0 у Вас куда смотрит? На провайдера? Как оно по Вашему должно запуститься если у Вас всё дропится?

Оффлайн Setto

  • Автор темы
  • Новичок
  • *
  • Сообщений: 4
    • Просмотр профиля
ppp0 смотрит на поставщика ВПН в интернете.

Оффлайн fisher74

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 13756
    • Просмотр профиля
Я понимаю. Но Вы же его сами рубите правилами
-A INPUT -j DROP
-A OUTPUT -j DROP
Потому, как только Вы добавляете любое из этих правил у Вас разваливается PPPoE до провайдера, а следом и OpenVPN, так как транспорта нет.
....
Хотя нет. Я, наверное, ошибаюсь. Скорее всего интернет у Вас не отваливается. А не работает у Вас потому, что система знает только про DNS-сервера провайдера, которые находятся в его частной локальной сети. А так как у Вас вся работа идёт исключетельно через забугорье, то и DNS-сервера становятся недоступными.
Проверьте эту теорию  командами
nslookup ya.ru
nslookup ya.ru 8.8.8.8
Уверен, что вторая команда пбудет более успешной, чем первая ;)
Решается подстройкой конфига OpenVPN.

Оффлайн Setto

  • Автор темы
  • Новичок
  • *
  • Сообщений: 4
    • Просмотр профиля
Обе команды уходят в никуда.
Я понимаю, что обрезаю все соединения, но вероятно можно каким-нибудь образом запретить все, кроме соединения с ВПН-сервером?
Возможно есть какие-либо иные способы решить задачу? Пока что все мои поиски приводят в тупик.

Оффлайн AnrDaemon

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 28366
    • Просмотр профиля
Можно, но не так же.
Начать с того, что -P OUTPUT DROP практически всегда означает ошибку в настройках.
А закончить тем, что всё это решается всего лишь правильной настройкой маршрутов.
Ну или если у вас совсем-совсем паранойя заигралась, запретом выхода на нужный IP с интерфейсов, отличных от ppp0.
Хотите получить помощь? Потрудитесь представить запрошенную информацию в полном объёме.

Прежде чем [Отправить], нажми [Просмотр] и прочти собственное сообщение. Сам-то понял, что написал?…

Оффлайн fisher74

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 13756
    • Просмотр профиля
Обе команды уходят в никуда.
Вот уже стопицотмильонов раз просили: показывайте реальный выхлоп команд, а не лирическое описание уведенного на экране. В 99% случаев приходится переспрашивать.
Так что имелось ввиду под "в никуда"? Адреса не резольвятся?

В так-то я с AnrDaemon согласен. В случае с VPN нет ничего проще чем разрулить маршрутами.
Соединился с провайдером, без установления дефолтного маршрута (это даже NM умеет с одной галочки) и добавить маршрут на единственный хост с сервером OpenVPN. Всё. Связь будет исключительно с сервером VPN и через него.

Оффлайн ArcFi

  • Старожил
  • *
  • Сообщений: 15189
    • Просмотр профиля
    • aetera.net
Соединился с провайдером, без установления дефолтного маршрута (это даже NM умеет с одной галочки) и добавить маршрут на единственный хост с сервером OpenVPN. Всё. Связь будет исключительно с сервером VPN и через него.
Поддерживаю.

 

Страница сгенерирована за 0.034 секунд. Запросов: 25.