Пропускаем локальный трафик через шлюз пк

Тема в разделе "Разное", создана пользователем djdjVIBER, 23 фев 2017.

  1. djdjVIBER

    djdjVIBER euro-dollar.xyz VIP Внесен депозит 4000$ Проверенный продавец

    Сообщения:
    16
    Баллы:
    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 и следуем инструкции

    [​IMG]

Поделиться этой страницей

Top