Конфигуратор шлюза

CyberWarning

rm -rf /dev/null/
Забаненный
Сообщения
38
Симпатии
46
Баллы
18
#1
Конфигурация шлюза на базе сентос или федора,без конфигурации wifi модуля

Код:
#!/usr/bin/python3
import os
print('Данный скрипт позволит сконфигурировать RedHat подобную систему в качестве интернет шлюза. \n ВАЖНО: Скрипт должен быть запущен с правами Администратора(root) !!!')
print('\nКакая у вас операционная система? \n 1.CentOS 7 \n 2.Fedora 21+')
dist = input("Номер: ")
if dist == "1":
    os.system("yum -y install epel-release")
    os.system("yum -y install dnsmasq hostapd iptables-services")
else:
    os.system("yum -y install dnsmasq hostapd iptables-services")
print("\nГотовы?\n")
hello = input("Ввод [y/n]: ")
if hello == "y":
    os.system("systemctl disable firewalld")
    os.system("systemctl enable iptables")
    os.system("systemctl start iptables")
    os.system("iptables -F")
    selinux = open('/etc/selinux/config', 'w')
    selinux.write('SELINUX=disabled\nSELINUXTYPE=mls')
    selinux.close()
    os.system("ifconfig -a")
    wan = input("Введите внешний интерфейс: ")
    os.system("iptables -t nat -A POSTROUTING -o " + wan + " -j MASQUERADE")
    lan = input("Введите интерфейсы локальной сети(через запятую без пробела): ")
    handle = open('/etc/dnsmasq.conf', 'w')
    handle.write('interface='+ lan + '\nbind-interfaces\n')
    handle.close()
    interfaces = lan.split(',')
    for a in range(len(interfaces)):
        os.system("iptables -A FORWARD -i " + interfaces[a] + " -j ACCEPT")
        os.system("iptables -A FORWARD -o " + interfaces[a] + " -j ACCEPT")
        dhcp = open('/etc/dnsmasq.conf', 'a')
        dhcp.write('dhcp-range=' + interfaces[a] + ',192.168.' + str(a) + '.1,192.168.' + str(a) + '.254,255.255.255.0,24h\n')
        dhcp.close()

    os.system("systemctl enable dnsmasq")
    os.system("systemctl start dnsmasq")
    sysctl = open('/etc/sysctl.conf', 'w')
    sysctl.write('net.ipv4.ip_forward = 1 \nnet.ipv4.tcp_syncookies = 1 \nnet.ipv4.conf.all.accept_redirects = 0 \nnet.ipv4.icmp_echo_ignore_broadcasts= 1')
    sysctl.close()
    os.system("sysctl -p")
    os.system("iptables-save > /etc/sysconfig/iptables")
    print("\n Настроить wifi модуль?")
    wifi = input("Ввод [y/n]: ")
    if wifi == "y":
        wlan = input("Введите интерфейс wifi модуля: ")
        print("Данная функция не доступна в beta версии")
 
else:
    print('Goodbye :)')
Запуск из консоли очень прост python3 beta.py и следуем инструкции

1e10c0f90f68.png
 
Последнее редактирование модератором: