Титла: Проблем с Ubuntu 12.04
Публикувано от: dwyane в Nov 30, 2012, 17:40
Здравейте искам да ви попитам нещо ако е възможно въобще ! Мога ли да настроя 2 различни DHCP адреса на една лан карта за УБУНТУ 12.04 ??
Титла: Re: Проблем с Ubuntu 12.04
Публикувано от: laskov в Nov 30, 2012, 18:52
Би трябвало да може като използваш alias на устройството eth0
Титла: Re: Проблем с Ubuntu 12.04
Публикувано от: Acho в Nov 30, 2012, 19:11
А сега де ? То хубу казахте МОЖЕ, ама как се правело туй нещо ALLIAS ?
Титла: Re: Проблем с Ubuntu 12.04
Публикувано от: b2l в Nov 30, 2012, 20:08
И аз бях казал, че може, но после помолих да ми се изтрие поста. Защо го направих? - ако правилно съм разбрал въпроса, пича си пуска компютъра и някакво dhcpd от някъде му дава IP. Еми не може да ти даде втори IP адрес. Алиаса в случая не играе никаква роля.
Титла: Re: Проблем с Ubuntu 12.04
Публикувано от: Acho в Nov 30, 2012, 20:10
Даааа. Ама ако той колегата каже какво точно иска да реализира, ще може да се помогне по-добре.
Титла: Re: Проблем с Ubuntu 12.04
Публикувано от: laskov в Nov 30, 2012, 23:18
...някакво dhcpd от някъде му дава IP. Еми не може да ти даде втори IP адрес.... А дали в една физическа мрежа може да има два DHCP сървъра и на клиента да се задава нужния като параметър?
Титла: Re: Проблем с Ubuntu 12.04
Публикувано от: backinblack в Dec 01, 2012, 03:25
И аз бях казал, че може, но после помолих да ми се изтрие поста. Защо го направих? - ако правилно съм разбрал въпроса, пича си пуска компютъра и някакво dhcpd от някъде му дава IP. Еми не може да ти даде втори IP адрес. Алиаса в случая не играе никаква роля.
И на мен би ми била много интересна ситуациятя, ако има зададени 2 dhcp сървъра, към кой от двата ще се включи новия лан адрез!
Титла: Re: Проблем с Ubuntu 12.04
Публикувано от: Acho в Dec 01, 2012, 03:59
Виждал съм такава ситуация, клиента различно си взема адрес. Понякога от единия dhcp daemon, понякога от другия.
Нахакали играчите някакъв си рутер-кутийка (най-вече WiFi устройство) във вътрешната мрежа. И праснали LAN кабела вместо във WAN, в LAN порта му. И не са му спрели dhcp daemon-а. И той си раздава на воля някакви си свои IP адреси, маски, GW и DNS-и.
А хората се чудят защо веднъж имат интернет, а друг път не.
Титла: Re: Проблем с Ubuntu 12.04
Публикувано от: dwyane в Dec 03, 2012, 08:44
Значи идеята е такава: да се раздели картата по такъв начин че когато падне единия интернет да се включи другия ! Пробвах един вариант а именно да наглася картата да си взима един динамичен и един статичен съотоветно всичко е 6 . Обаче със статичния адрес не ми върши работа . По другия начин постоянно ще се поддържа интернет от 2 доставчика ! >:D Ясно е че ще има някакъв промеждутък от време в който няма да има нет ама идеята е да се намали. Общо взето Бай Ганьовщина събрана с малко хакерство ;D ;D ;D имаше и някаква идея да се вкарат някакви проверяващи скриптове ама там не съм много на ясно какво е положението и за това питам дали може да се настрои .
Ако може след това инфо (колкото и объркващо да ви е ) да ми обясните номера с alias че не му знам мн мн функциите ...
P.S. Извинявам се за късния отговор ама Булсатком бяха решили да ми спрат мрежата прекалено рано ??? ??? ??? и немаше кинти да се плати.
Титла: Re: Проблем с Ubuntu 12.04
Публикувано от: dejuren в Dec 03, 2012, 20:12
Виж какво казва скрипта по-долу за твоя случай. Но ако той работи само с две физически карти, а не със синоними, и ти не може да си купиш втора карта тогава ненам. #!/bin/sh # izbalancing is a GNU/Linux Firewall/Router Bash ****** feauturing Incoming/Outgoing MultiHomed/LoadBalanced Subsystem Management # Written by Ugo Viti <ugo.viti@initzero.it> # Visit http://www.boiko-bg.com for commercial support
VERSION="20050712"
# Network Topology Example: # ========================= # # +----------+ +-------------------+ 192.168.254.254+----------+ +-------+ # | Server x +<--+ | 192.168.254.1:eth1+<--------------->+ Router 1 +<----------->+ ISP 1 +<--+ # +----------+ | | | +----------+ ADSL line 1 +-------+ | # | | GNU/Linux | | # +----------+ | 192.168.1.1:eth0| | 192.168.253.254+----------+ +-------+ | # | Server y +<--+---+LAN+---------->+ 192.168.253.1:eth2+<--------------->+ Router 2 +<----------->+ ISP 2 +<--+---->INTERNET # +----------+ | | | +----------+ HDSL line 2 +-------+ | # | | Firewall | | # +----------+ | | | 192.168.nnn.nnn+----------+ +-------+ | # | Server z +<--+ | 192.168.nnn.n:ethn+<--------------->+ Router n +<----------->+ ISP n +<--+ # +----------+ +-------------------+ +----------+ T3 line n +-------+
# Mandatory variables TABLE1=1 # The TABLE ID associated to your 1st ISP IF1=eth0 # The NIC name connected to your 1st ISP GW1=192.168.nnn.nnn # 1st or Default Internet Service Provider Gateway (Router IP Address)
TABLE2=2 # The TABLE ID associated to your 2th ISP IF2=eth3 # The NIC name connected to your 2th ISP GW2=192.168.nnn.nnn # 2th Internet Server Provider Gateway (Router IP Address)
#TABLE2=n # The TABLE ID associated to your n.. ISP # This line is an example # IF2=ethn # The NIC name connected to your n... ISP # This line is an example # GW2=192.168.nnn.nnn # n... Internet Provider Gateway # This line is an example
izbalancing() { # Command Syntax: $1 "InterfaceName" "TableID" "IPDefaultGateway" # Add a Command line for any external internet connection $1 $IF1 $TABLE1 $GW1 $1 $IF2 $TABLE2 $GW2 #$1 $IFn $TABLEn $GWn # This line is an example
if [ "$1" = "start" ] then # Misc $IP route del default $IP route add default equalize nexthop via $GW1 nexthop via $GW2 #$IP route add default equalize nexthop via $GW1 nexthop via $GW2 nexthop via $GWn # ...so on...
## NOTE!! # You must execute the following iptables rules if you want act as Load Balanced/MultiHomed GNU/Linux Firewall # > mangle table < $IPTABLES -t mangle -A PREROUTING -p ALL -j CONNMARK --restore-mark
$IPTABLES -t mangle -A PREROUTING -p ALL -i $IF1 -m mark --mark 0 -j MARK --set-mark $TABLE1 $IPTABLES -t mangle -A PREROUTING -p ALL -i $IF2 -m mark --mark 0 -j MARK --set-mark $TABLE2 # $IPTABLES -t mangle -A PREROUTING -p ALL -i $IFn -m mark --mark 0 -j MARK --set-mark $TABLEn # This line is an example
$IPTABLES -t mangle -A POSTROUTING -p ALL -o $IF1 -m state --state NEW -j MARK --set-mark $TABLE1 $IPTABLES -t mangle -A POSTROUTING -p ALL -o $IF2 -m state --state NEW -j MARK --set-mark $TABLE2 # $IPTABLES -t mangle -A POSTROUTING -p ALL -o $IFn -m state --state NEW -j MARK --set-mark $TABLEn # This line is an example
$IPTABLES -t mangle -A POSTROUTING -p ALL -m state --state NEW -j CONNMARK --save-mark
# > nat table < $IPTABLES -t nat -A POSTROUTING -p ALL -o $IF1 -m mark --mark $TABLE1 -j SNAT --to-source $(find_primary_ip $IF1) $IPTABLES -t nat -A POSTROUTING -p ALL -o $IF2 -m mark --mark $TABLE2 -j SNAT --to-source $(find_primary_ip $IF2) # $IPTABLES -t nat -A POSTROUTING -p ALL -o $IFn -m mark --mark $TABLEn -j SNAT --to-source $(find_primary_ip $IFn) # This line is an example fi }
# Default commands path IP=ip IPTABLES=iptables
############################################################################################### ############################################################################################### ## CONFIGURATION IS OVER, DON'T EDIT ANYTHING BELLOW ## ############################################################################################### ###############################################################################################
### $1 = Ethernet Interface Name ### $2 = Table Number ### $3 = Default Gateway
# Init default policies and variables init() { # Enable fast failover of broken gateways links (this isn't a real failover) echo "10" > /proc/sys/net/ipv4/route/gc_timeout
# Make this machine a Routing Machine(tm) :-) echo "1" > /proc/sys/net/ipv4/ip_forward
# Variables IF=$1 TABLE=$2 FWIP=$(find_primary_ip $IF) GWIP=$3
#echo "Init: IF=$IF TABLE=$TABLE FWIP=$FWIP GWIP=$GWIP IP=$IP" }
## STOP
# Stop izbalancing stop() { init $1 $2 $3 route_stop rule_stop }
# Reset routing tables route_stop() { # Flush whole routing table of current table if [ ! -z "$($IP route show table $TABLE)" ] then $IP route flush table $TABLE fi
# Reset to default Single Gateway if [ ! -z "$GW1" ] then $IP route del default $IP route add default via $GW1 fi # If you don't want to reset the routing cache every time you run this ******, comment the following line $IP route flush cache }
# Reset rule tables rule_stop() { # Flush whole rule table of current table (except for fwmark rules) $IP rule list | grep "lookup $TABLE" | grep -v "from all fwmark" | awk '{print $2" "$3" "$4" "$5" "$6" "$7}' $1 | while read RULE do $IP rule del $RULE done
# Flush whole fwmark rule table of current table $IP rule list | grep "lookup $TABLE" | grep "from all fwmark" | awk '{print $4" "$5" "$6" "$7}' $1 | while read RULE do $IP rule del $RULE done }
## START
# Start izbalancing Subsystem start() { #echo "1 Before init ($1 $2 $3)" init $1 $2 $3 #echo "2 Before stop ($1 $2 $3)" stop $1 $2 $3 #echo "3 Before route_start ($1 $2 $3)" route_start #echo "4 Before rule_start ($1 $2 $3)" rule_start }
route_start() { # Import from table 'default' to 'current table' the whole routing settings $IP route show table main | grep -Ev ^default | grep -Ev nexthop | while read ROUTE; do $IP route add table $TABLE $ROUTE; done # Add the default interface gateway to the current table $IP route add table $TABLE default via $GWIP }
# Add iproute2 rules in current table rule_start() { $IP rule add from $FWIP lookup $TABLE $IP rule add fwmark $TABLE lookup $TABLE
for IP_ALIAS in $(find_secondary_ip $IF) do $IP rule add from $IP_ALIAS lookup $TABLE done }
######################################################### # Autodetect IP number of specified network interface find_primary_ip() { if [ ! -z $1 ] then echo $($IP addr show $1 | grep 'inet' | grep -v ":" | awk '{print $2}' | sed -e 's/\/.*//') fi }
find_secondary_ip() { if [ ! -z $1 ] then echo $($IP addr show $1 | grep 'inet' | grep "$1:" | awk '{print $2}' | sed -e 's/\/.*//') fi }
############################################################################################### ## Valid ****** input from command line case $1 in stop) izbalancing stop ;; start) izbalancing start ;; restart) izbalancing start ;; *) echo "InitZero GNU/Linux Firewall/Router Incoming/Outgoing MultiHomed/LoadBalanced Subsystem" echo " < vsichko e nared>" echo "Version $VERSION" echo echo "Usage: $0 [OPTIONS]" echo echo "Available Options:" echo " start, Start the izbalancing subsystem" echo " stop, Stop the izbalancing subsystem" echo " restart, ReStart the izbalancing subsystem" echo echo " example: $0 start" exit 0 esac
## The End
Титла: Re: Проблем с Ubuntu 12.04
Публикувано от: dwyane в Dec 04, 2012, 16:58
Лелеееее тва си е напрао .... Благодаря много колега ще го пробвам и това ама както вървят нещата маи нема да стане ...
Титла: Re: Проблем с Ubuntu 12.04
Публикувано от: dejuren в Dec 04, 2012, 17:20
Всъщност погледни и за нещо ново от същия автор, този скрипт е от 2005, не е изключено да има развитие. Ориентир по първите няколко коментара от скрипта.
|