iptables, использующий интернет-соединение с ограниченным доступом

Я пытаюсь настроить сервер ubuntu для совместного доступа в Интернет из eth0 к клиентским системам на eth1, однако я хочу разрешить доступ только к входу / выходу через порт 1688, а также разрешать имена хостов, блокируя при этом весь остальной трафик. Я не уверен, какие правила IPTable необходимы для достижения этой цели, надеясь на любую помощь.

[снаружи] < --- трафик через порт 1688 ---> {eth0} [сервер Ubuntu 11.10] {eth1} < -----> [клиентские системы]

1
задан 30 May 2012 в 03:02

2 ответа

Чтобы сделать это правильно, вы действительно захотите изучить iptables, чтобы вы могли устранять любые проблемы, которые могут возникнуть. В противном случае iptables может стать для вас «черным ящиком», потому что вы не понимаете, как его использовать, и докажите себе, что проблема не в с iptables. Однако не стоит откладывать, изучение основ iptables на самом деле не так сложно, и, если вам интересно, есть много разных уроков, руководств и кулинарных книг о замечательных вещах, которые вы можете делать с iptables под вашим контролем по интернету "для комического примера).

То, что вы хотите сделать, сводится к 3 простых шага.

1) Добавьте / вставьте правило в цепочку FORWARD для принятия TCP-порта 1688. Если вам также требуется доступ UDP, добавьте аналогичное правило, но для UDP.

2) Добавить / вставить правила для принятия TCP и UDP-порта 53 в цепочку FORWARD.

3) Установите политику по умолчанию в цепочке FORWARD на DROP.

После очень простого краш-курса в iptables это должно быть довольно просто, не стоит откладывать на потенциальную сложность, потому что вам не нужно знать ничего из этого, это базовые вещи.

0
ответ дан 30 May 2012 в 03:02

Вам необходимо настроить сервер в качестве маршрутизатора и межсетевого экрана между этими двумя сетями.

Поэтому настройте правила брандмауэра FORWARD на сервере, чтобы разрешить только 1688/tcp, 53/udp и 53/tcp проходить через брандмауэр вашего маршрутизатора. И установите политику по умолчанию для FORWARD - DROP или DENY. Попробуйте использовать такой инструмент, как ufw или shorewall для настройки брандмауэра. Это намного проще, чем использовать iptables напрямую.

В любом случае, если вы используете iptables напрямую, вам придется вручную изменить файл /etc/sysctl.conf (или добавить новый файл в /etc/sysctl.conf.d/), чтобы ваш компьютер начал маршрутизировать IP-сообщения между двумя сетями. Ищите net.ipv4.ip_forward=1, чтобы решить это.

Хорошие инструкции можно найти в вики Ubuntu.

0
ответ дан 30 May 2012 в 03:02

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

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