• Как раздать серые ip провайдера в локальную сеть?

    @res2001
    Developer, ex-admin
    Обычно, когда вы арендуете целиком подсеть, то у вас есть эта подсеть + еще какой-то белый адрес не из этой подсети, который выдается оператором для внешнего интерфейса и через который будет происходить маршрутизация вашей подсети оператором. Соответственно на шлюз на внешний интерфейс вешается этот отдельный адрес, а в локальной сети назначаете адреса из подсети (статически или через DHCP). Т.е. все то же самое, как и при использовании серых адресов, только в случае с серыми адресами подсети их вам никто не выдает (выбираете любой диапазон по собственному усмотрению) и вы обязаны использовать NAT для выхода в интернет.

    Если же у вас только подсеть, то используйте ответ Andrey Barbolin
    Ответ написан
    1 комментарий
  • Как раздать серые ip провайдера в локальную сеть?

    @dronmaxman
    VoIP Administrator
    Два варианта
    - bridge
    - Неужели придётся каждый внешний ip прописывать в интерфейсе а потом в iptables прописывать правило?)

    Второй вариант более правильный с точки зрения безопасности, т.к. при использовании bridge белый адрес будет назначаться непосредственно на ПК, соответственно ПК станет уязвим из интернета.
    Ответ написан
    2 комментария
  • Как соединить 2 компьютера из разных сетей?

    @pfg21
    ex-турист
    если есть вариант прокинуть ethernet провод, то поставить с двух сторон две сетевухи с статически прописанными адресами, не входящими в диапазоны обоих сетей (ip + mask). и обращаться по этим адресам.
    Ответ написан
    5 комментариев
  • Как соединить 2 компьютера из разных сетей?

    @ru6ak
    Это настраивается очень легко:
    1. Все компы кидаем в общий l2 с общей l3 сетью на компах, и указываем нужным компам нужный шлюз.
    2. Настраиваем маршрутизацию между двумя вашими разными сетями на вашем шлюзе, очевидно что обе ваши сети также должны на него приходить.
    А можно и дальше городить огород и ставить доп сетевушки в компы и соединять их отдельным проводом да ещё и с отдельной сетью.
    Ответ написан
    5 комментариев
  • Как объединить 2 сети в локальную?

    nekt
    @nekt
    программист
    я бы подумал нафига так было сделано и не будет ли хуже, если объеденить приемную с бухгалтерией в одну сеть.

    Но вообще если непонятно с какой стороны подступиться, то варианта лучше чем протянуть провод не найти. Эту штуку в любом случае придется поддерживать, как то реагировать на "а у нас не работает" и т.п.

    Альтернативный вариант - можно попробовать организовать сеть через такие штуки - https://www.dns-shop.ru/catalog/17a8ac6416404e77/a... - из плюсов - не придется тянуть провод.
    Ответ написан
    1 комментарий
  • Как объединить 2 сети в локальную?

    paran0id
    @paran0id
    Умный, но ленивый
    Иногда можно договориться с провайдером, чтобы тебе выделили VLAN между площадками.
    Ответ написан
    1 комментарий
  • Как сделать ajax подгрузку, сначала при нажатии а потом скролле?

    wppanda5
    @wppanda5 Куратор тега WordPress
    WordPress Mедведь
    Вот Билл Эрриксон скомпилированный под вашу задачу.
    php
    /**
         * Javascript for Load More
         *
         */
        function be_load_more_js() {
    
            if ( !is_singular( 'post' ) )
                return;
            $query = array(
                'post__not_in'   => array( get_queried_object_id() ),
                'category_name'  => ea_first_term( 'category', 'slug' ),
                'posts_per_page' => 3
            );
            $args = array(
                'url'   => admin_url( 'admin-ajax.php' ),
                'query' => $query,
            );
            wp_enqueue_script( 'be-load-more', get_stylesheet_directory_uri() . '/js/load-more.js', array( 'jquery' ), '1.0', true );
            wp_localize_script( 'be-load-more', 'beloadmore', $args );
    
        }
    
        add_action( 'wp_enqueue_scripts', 'be_load_more_js' );
    
        /**
         * AJAX Load More
         *
         */
        function be_ajax_load_more() {
            $args = isset( $_POST[ 'query' ] ) ? array_map( 'esc_attr', $_POST[ 'query' ] ) : array();
            $args[ 'post_type' ] = isset( $args[ 'post_type' ] ) ? esc_attr( $args[ 'post_type' ] ) : 'post';
            $args[ 'paged' ] = esc_attr( $_POST[ 'page' ] );
            $args[ 'post_status' ] = 'publish';
            ob_start();
            $loop = new WP_Query( $args );
            if ( $loop->have_posts() ): while ( $loop->have_posts() ): $loop->the_post();
                be_post_summary();
            endwhile; endif;
            wp_reset_postdata();
            $data = ob_get_clean();
            wp_send_json_success( $data );
            wp_die();
        }
    
        add_action( 'wp_ajax_be_ajax_load_more', 'be_ajax_load_more' );
        add_action( 'wp_ajax_nopriv_be_ajax_load_more', 'be_ajax_load_more' );
    
        /**
         * First Term
         * Helper Function
         */
        function ea_first_term($taxonomy, $field) {
            $terms = get_the_terms( get_the_ID(), $taxonomy );
    
            if ( empty( $terms ) || is_wp_error( $terms ) )
                return false;
    
            // If there's only one term, use that
            if ( 1 == count( $terms ) ) {
                $term = array_shift( $terms );
            } else {
                $term = array_shift( $list );
            }
    
            // Output
            if ( $field && isset( $term->$field ) )
                return $term->$field;
    
            else
                return $term;
    
        }

    js
    jQuery(function ($) {
    
            $('.post-listing').append('<span class="load-more">Click here to load earlier stories</span>');
            var button = $('.post-listing .load-more');
            var page = 2;
            var loading = false;
            var scroll = false;
            var scrollHandling = {
                allow: true,
                reallow: function () {
                    scrollHandling.allow = true;
                },
                delay: 400 //(milliseconds) adjust to the highest acceptable value
            };
    
            function morer() {
                if (!loading) {
                    loading = true;
                    var data = {
                        action: 'be_ajax_load_more',
                        page: page,
                        query: beloadmore.query,
                    };
                    $.post(beloadmore.url, data, function (res) {
                        if (res.success) {
                            $('.post-listing').append(res.data);
                            $('.post-listing').append(button);
                            page = page + 1;
                            loading = false;
                        } else {
                            // console.log(res);
                        }
                    }).fail(function (xhr, textStatus, e) {
                        // console.log(xhr.responseText);
                    });
                }
            }
    
    
            $('body').on('click', '.load-more', function () {
                if (scroll === false) {
                    morer();
                   $('.load-more').remove();
                    scroll = true;
                }
            });
    
            $(window).scroll(function () {
                if (scroll === true) {
                    if (!loading && scrollHandling.allow) {
                        scrollHandling.allow = false;
                        setTimeout(scrollHandling.reallow, scrollHandling.delay);
                        var offset = $(button).offset().top - $(window).scrollTop();
                        if (2000 > offset) {
                            morer();
                        }
                    }
                }
            });
    
        });
    Ответ написан
    1 комментарий