Извечный вопрос: Как настроить две сетевые карты на Linux?

Тема в разделе "Linux", создана пользователем TolikCorp, 6 июн 2012.

  1. TolikCorp

    TolikCorp

    Сообщения:
    855
    Симпатии:
    271
    Debian 6

    Всем привет, хочу настроить две сетевые карты.
    Сначала клонировал мак адрес и настроил вторую сетевую:
    interfaces
    Код:
    allow-hotplug eth0
    iface eth0 inet dhcp
    hwaddress ether 00:02:44:34:E0:50
    
    allow-hotplug eth1
    iface eth1 inet static
    address 10.0.0.1
    netmask 255.255.255.0
    
    Далее раскомментировал в sysctl.conf
    Код:
    net.ipv4.ip_forward=1
    Потом по совету БМВ нужно было прописать в rc.local
    Код:
    iptables -t nat -A POSTROUTING -o ppp0 -j MASQUERADE
    (ppp0, или нечтно подобное должно появиться при написании ifconfig) НО! у меня есть только eth0 (ип выдан верный) eth1 и loopback

    Испробовал по очереди:
    Код:
    iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE 
    iptables -t nat -A POSTROUTING -o dhcp -j MASQUERADE
    Т.к. это не получилось - пробовал другое, USNET=10.0.0.0/24 PUBIP=тут мой ip WAN_ADAPTER=eth0

    Код:
    iptables -t nat -A POSTROUTING -p tcp -o $WAN_ADAPTER -s  $USNET  -j SNAT --to-source $PUBIP
    iptables -t nat -A POSTROUTING -p udp -o $WAN_ADAPTER -s  $USNET  -j SNAT --to-source $PUBIP
    iptables -t nat -A POSTROUTING -p icmp -o $WAN_ADAPTER -s $USNET  -j SNAT --to-source $PUBIP
    Не получилось и так.
    Далее вернул к прежнему. Ребят, помогите настроить.


    Комп, подключенный к eth1 настроен так: ip: 10.0.0.2 маска стандарт 255.255.255.0
    Подключился через путти к 10.0.0.1.
    Так как я клонировал мак адрес роутера, на который настроен инет - ifconfig выдал верные значения ип, шлюза... (когда использовал стандартный мак - настройки не выдавались). Писал в путти ping -c 4 google.ru ответ на это вроде бы unknown host, что очень странно!

    Смотрю инфу: http://blog.aloneunix.ru/2011/11/debian.html то же самое.
    Я только не пойму - если ип выдался верный, и я с путти пытался пинговать гугол, не получилось. хммм

    "Теперь применим только что отредактированный конфиг:
    ~$ sudo sysctl -p" эта команда разорвет соединения игроков с сервом?
     
    Последнее редактирование: 6 июн 2012
  2. tabletka99

    tabletka99

    Сообщения:
    18
    Симпатии:
    6
    Них не понял, понаписал кучу всего, а вопроса так и не задал ;)))

    что значит настроить две сетевые карты? просто ипы им дать или там два шлюза еще???
     
    TolikCorp и tiger_by нравится это.
  3. tiger_by

    tiger_by Гл. Админ SourceGames.RU

    Сообщения:
    629
    Симпатии:
    279
    В самом деле, какова цель? Что чем должно быть?
     
    TolikCorp нравится это.
  4. BMW M6

    BMW M6

    Сообщения:
    1.221
    Симпатии:
    569
    1) Добавляем блок в /etc/network/interface

    Код:
    auto eth1
    iface eth1 inet static
     address 192.168.2.1
     netmask 255.255.255.0
    2. в /etc/sysctl.conf раскомменчиваем строчку (или добавляем если нет): net.ipv4.ip_forward=1

    3. в /etc/rc.local перед exit 0:
    Код:
    iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
    4. Узнаём свои dns адреса командой. У меня лежат тут /etc/resolv.conf

    5.Настраиваем роутер на статику:
    ip 192.168.2.2
    маска: 255.255.255.0
    шлюз: 192.168.2.1

    и твои dns адреса.
     
    TolikCorp нравится это.
  5. tabletka99

    tabletka99

    Сообщения:
    18
    Симпатии:
    6
    Вообще маскарад не оч удобная штука для гейта лучше snat и систему меньше грузит лишними правилами...
     
    TolikCorp нравится это.
  6. ZloyMonah

    ZloyMonah

    Сообщения:
    479
    Симпатии:
    71
    100% изложите вашу цель, а потом алгоритм вашего решения!!!
     
    TolikCorp нравится это.
  7. TolikCorp

    TolikCorp

    Сообщения:
    855
    Симпатии:
    271
    Цель получить на выходе етх1 инет. Опробую дополение БМВ, отпишусь.
     
  8. tiger_by

    tiger_by Гл. Админ SourceGames.RU

    Сообщения:
    629
    Симпатии:
    279
    Я полагаю что есть eth0 - это WAN, он же внешний IP.
    eth1 - это LAN, оно же локальный интерфейс, раздающий сеть еще неким хостам.
    Или не так?
     
    TolikCorp нравится это.
  9. LEII4A

    LEII4A

    Сообщения:
    631
    Симпатии:
    116
    TolikCorp,
    Пажалста я надеюсь, цель сего безобразия я понял правильно:-D
    только там нужно морозить rc.local иначе dns слетают при отключении eth1, вот команды в консоль:
    PHP:
    sudo touch /etc/network/if-up.d charge_dns
    sudo nano /etc/network/if-up.d/charge_dns

    #! /bin/sh
    echo "nameserver ip" > /etc/resolv.conf
    echo "nameserver ip" >> /etc/resolv.conf

    sudo chmod 
    +/etc/network/if-up.d/charge_dns
    Вместо ip естественно твои dns сервера. На debian 6 все вышеуказанное работало прекрасно, хоть и громоздко все...
     
    TolikCorp нравится это.
  10. TolikCorp

    TolikCorp

    Сообщения:
    855
    Симпатии:
    271
    Всё верно

    Добавлено через 3 минуты
    Капец какой-то, на етх0 ип выдался верный, вроде даже всё ок. Пишу ping -c 4 google.ru - просто не хочет ответ - unknown host. Подключаю обратно к роутеру - пинг нормально рабит.
     
    Последнее редактирование: 7 июн 2012
  11. tiger_by

    tiger_by Гл. Админ SourceGames.RU

    Сообщения:
    629
    Симпатии:
    279
    Надо настраивать eth0 согласно настройкам, которые выдал провайдер.
     
    TolikCorp нравится это.
  12. TolikCorp

    TolikCorp

    Сообщения:
    855
    Симпатии:
    271
    Настройки етх0 получает по дхсп, у провайдера привязка этого дела по маку. А мак я клонировал.
     
  13. tiger_by

    tiger_by Гл. Админ SourceGames.RU

    Сообщения:
    629
    Симпатии:
    279
    Шлюз пингуется? Сайты резолвятся?
     
    TolikCorp нравится это.
  14. TolikCorp

    TolikCorp

    Сообщения:
    855
    Симпатии:
    271
    Первое не проверял, пытался днс пинговать, но ответ не помню. Второе поясните, пожалуйста.
     
  15. tiger_by

    tiger_by Гл. Админ SourceGames.RU

    Сообщения:
    629
    Симпатии:
    279
  16. TolikCorp

    TolikCorp

    Сообщения:
    855
    Симпатии:
    271
    хмм, прочитал статью, смотрю "5.3.4. /etc/resolv.conf" и немного недопонял, что в нем быть должно.
    Вот сейчас, когда сервер подключен к роутеру содержание данного файла такое
    domain cn.ru
    search cn.ru novotelecom.ru
    nameserver 192.168.0.1

    Добавлено через 11 минут
    Буду пробовать
    $ sudo touch /etc/network/if-up.d charge_dns
    $ sudo nano /etc/network/if-up.d/charge_dns

    #! /bin/sh
    echo "nameserver ip" > /etc/resolv.conf
    echo "nameserver ip" >> /etc/resolv.conf

    sudo chmod +x /etc/network/if-up.d/charge_dns
     
    Последнее редактирование: 7 июн 2012
  17. tabletka99

    tabletka99

    Сообщения:
    18
    Симпатии:
    6
    в /etc/resolv.conf

    сотри все и добавь две строки

    nameserver 8.8.8.8
    nameserver 8.8.4.4

    это днс гугла и попробуй... должно работать все... в сети что ты раздаешь на етх1 так же указывай эти днс.
     
    tiger_by и TolikCorp нравится это.
  18. tiger_by

    tiger_by Гл. Админ SourceGames.RU

    Сообщения:
    629
    Симпатии:
    279
    Гугл днс сам юзаю.
     
    TolikCorp нравится это.
  19. TolikCorp

    TolikCorp

    Сообщения:
    855
    Симпатии:
    271
    tabletka99, "в сети что ты раздаешь на етх1 так же указывай эти днс." это приписать в компе, подключенному к етх1?
     
  20. TolikCorp

    TolikCorp

    Сообщения:
    855
    Симпатии:
    271
    1) Когда сервер подключен к роутеру, то на етх1 инет есть (в свойствах подключения клиента указал ДНС провайдера).
    Пинги:
    Last login: Sun Jun 10 07:34:14 2012 from 192.168.5.2
    [email protected]:~# ping -c 4 178.49.245.129
    PING 178.49.245.129 (178.49.245.129) 56(84) bytes of data.
    64 bytes from 178.49.245.129: icmp_req=1 ttl=64 time=1.29 ms
    64 bytes from 178.49.245.129: icmp_req=2 ttl=64 time=1.19 ms
    64 bytes from 178.49.245.129: icmp_req=3 ttl=64 time=1.20 ms
    64 bytes from 178.49.245.129: icmp_req=4 ttl=64 time=1.49 ms

    --- 178.49.245.129 ping statistics ---
    4 packets transmitted, 4 received, 0% packet loss, time 3003ms
    rtt min/avg/max/mdev = 1.196/1.296/1.492/0.121 ms
    [email protected]:~# ping -c 4 hlmod.ru
    PING hlmod.ru (94.127.69.212) 56(84) bytes of data.
    64 bytes from s094127069212.m.truevds.ru (94.127.69.212): icmp_req=1 ttl=52 time=59.1 ms
    64 bytes from s094127069212.m.truevds.ru (94.127.69.212): icmp_req=2 ttl=52 time=52.8 ms
    64 bytes from s094127069212.m.truevds.ru (94.127.69.212): icmp_req=3 ttl=52 time=52.5 ms
    64 bytes from s094127069212.m.truevds.ru (94.127.69.212): icmp_req=4 ttl=52 time=53.4 ms

    --- hlmod.ru ping statistics ---
    4 packets transmitted, 4 received, 0% packet loss, time 3002ms
    rtt min/avg/max/mdev = 52.507/54.488/59.194/2.750 ms
    [email protected]:~#


    Содержание resolv.conf
    domain cn.ru
    search cn.ru novotelecom.ru
    nameserver 192.168.0.1
    2) Когда сервер подключен напрямую к инету, то на етх1 инета (в свойствах подключения клиента указал ДНС провайдера)., как и на етх0 нету.
    3) Сделал
    $ sudo touch /etc/network/if-up.d charge_dns
    $ sudo nano /etc/network/if-up.d/charge_dns

    #! /bin/sh
    echo "nameserver ip" > /etc/resolv.conf
    echo "nameserver ip" >> /etc/resolv.conf

    sudo chmod +x /etc/network/if-up.d/charge_dns
    - инета нет.
    4) Пинговал шлюз -
    --- 178.49.245.129 ping statistics ---
    4 packets transmitted, 4 received, 0% packet loss, time 3003ms
    rtt min/avg/max/mdev = 1.196/1.296/1.492/0.121 ms

    Когда это перепробовал, изменил charge_dns:
    #! /bin/sh
    echo "domain cn.ru" >> /etc/resolv.conf
    echo "search cn.ru novotelecom.ru" >> /etc/resolv.conf
    echo "nameserver 178.49.132.66" >> /etc/resolv.conf
    echo "nameserver 178.49.132.67" >> /etc/resolv.conf

    До гугла с его ДНСами и провайдера не смог достучаться во всех случаях, кроме первого, где сервер подключен к роутеру.

    Добавлено через 49 минут
    Все же интересно, почему даже шлюз не пингуется...
     
    Последнее редактирование: 10 июн 2012