У мене є кілька діапазонів ip, до яких я хочу, щоб мій сервер міг підключитися, а користувачі могли підключитися. Все інше має бути заблоковано.
Як мені це зробити з iptables?
Моя ОС - це дистрибутив Linux на базі Debian.
У мене є кілька діапазонів ip, до яких я хочу, щоб мій сервер міг підключитися, а користувачі могли підключитися. Все інше має бути заблоковано.
Як мені це зробити з iptables?
Моя ОС - це дистрибутив Linux на базі Debian.
Відповіді:
Я б запропонував захопити інструмент налаштування брандмауера, такий Firestarter , і піти звідти. Ось кілька основ для вас, хоча.
#Flush existing rules
iptables -F
# Set up default DROP rule for eth0
iptables -P INPUT DROP
# Allow existing connections to continue
iptables -A INPUT -i eth0 -m state --state ESTABLISHED,RELATED -j ACCEPT
# Accept everything from the 192.168.1.x network
iptables -A INPUT -i eth0 -s 192.168.1.0/24 -j ACCEPT
# Allow connections from this host to 192.168.2.10
iptables -A OUTPUT -o eth0 -d 192.168.2.10 -j ACCEPT
Якщо ви хочете дозволити довільні діапазони, а не цілі підмережі, ви можете скористатися модулем iptables 'iprange':
iptables -P INPUT DROP
iptables -A INPUT -m iprange --src-range 192.168.1.30-50 -j ACCEPT
наприклад, буде дозволено рух трафіку з усіх машин з адресою між 192.168.1.30 та 192.168.1.50.
Якщо ви хочете дозволити вхідний та вихідний трафік для одного і того ж діапазону IP-адрес, я б запропонував вам створити певну ланцюг, що дозволяє цим IP-адресам і орієнтувати на всі вхідні та вихідні цілі до нього:
--визначте політику за замовчуванням, щоб відмовитись від вічного розміщення:
iptables -P INPUT DROP
iptables -P OUTPUT DROP
--створіть новий ланцюжок:
iptables -N allowed_ips
- якщо джерело є частиною дозволеного діапазону, прийміть
iptables -A allowed_ips -m iprange --src-range 192.168.1.30-50 -j ACCEPT
- Якщо ні, поверніться до ланцюга абонента, щоб продовжити обробку
iptables -A allowed_ips -j RETURN
- змусити весь трафік, що входить і виходить з машини, пройти через наш новий ланцюг
iptables -A INPUT -j allowed_ips
iptables -A OUTPUT -j allowed_ips
і це все! звичайно, вам можуть знадобитися додаткові правила, наприклад, таке, що дозволяє весь трафік з / до інтерфейсу lo тощо.
Після того, як ви задоволені своїми правилами, ви, ймовірно, захочете їх зберегти . У коментарях у цьому посиланні є кілька варіантів, як це зробити.
Простий у використанні генератор правил iptables для простих потреб - це ufw . Пакет доступний у нестабільній програмі debian.
Спробуйте також Firestarter . Доступно в lenny.