เดนเดฒเตเดพ. เดเดคเดฟเดจเตผเดคเตเดฅเด 5k เดเตเดฒเดฏเดจเตเดฑเตเดเดณเตเดเต เดเดฐเต เดจเตเดฑเตเดฑเตโเดตเตผเดเตเดเต เดเดฃเตเดเตเดจเตเดจเดพเดฃเต. เด เดเตเดคเตเดคเดฟเดเต เดตเดณเดฐเต เดธเดจเตเดคเตเดทเดเดฐเดฎเดฒเตเดฒเดพเดคเตเดค เดเดฐเต เดจเดฟเดฎเดฟเดทเด เดตเดจเตเดจเต - เดจเตเดฑเตเดฑเตโเดตเตผเดเตเดเดฟเดจเตเดฑเต เดฎเดงเตเดฏเดญเดพเดเดคเตเดคเต เดเดเตเดเตพเดเตเดเต เดเดฐเต เดฌเตเดฐเตเดเตเดเตเดกเต RX8 เดเดฃเตเดเต, เดฎเดพเดคเตเดฐเดฎเดฒเตเดฒ เดเดคเต เดงเดพเดฐเดพเดณเด เด เดเตเดเดพเดค-เดฏเตเดฃเดฟเดเดพเดธเตเดฑเตเดฑเต เดชเดพเดเตเดเดฑเตเดฑเตเดเตพ เด เดฏเดฏเตเดเตเดเดพเตป เดคเตเดเดเตเดเดฟ, เดเดพเดฐเดฃเด เดจเตเดฑเตเดฑเตโเดตเตผเดเตเดเต vlans เดเดฏเดฟ เดคเดฟเดฐเดฟเดเตเดเดฟเดฐเดฟเดเตเดเตเดจเตเดจเต - เดเดคเต เดญเดพเดเดฟเดเดฎเดพเดฏเดฟ เดเดฐเต เดชเตเดฐเดถเตเดจเดฎเดฒเตเดฒ, เดชเดเตเดทเต เดเดฃเตเดเต เดตเตเดณเตเดคเตเดค เดตเดฟเดฒเดพเดธเดเตเดเตพ เดฎเตเดคเดฒเดพเดฏเดตเดฏเตเดเตเดเตเดณเตเดณ เดชเตเดฐเดคเตเดฏเตเด vlans. เด เดต เดถเตเดเดเดฒเดฏเตเดเต เดเดฒเตเดฒเดพ เดฆเดฟเดถเดเดณเดฟเดฒเตเดเตเดเตเด เดจเตเดฃเตเดเตเดเดฟเดเดเตเดเตเดจเตเดจเต. เด เดคเดฟเดจเดพเตฝ เดเดชเตเดชเตเตพ เดเดฐเต เด เดคเดฟเตผเดคเตเดคเดฟ เดตเดฟเดฆเตเดฏเดพเตผเดคเตเดฅเดฟเดฏเดพเดฏเดฟ เดชเด เดฟเดเตเดเดพเดคเตเดค เดเดฐเต เดเตเดฒเดฏเดจเตเดฑเต เดตเดฟเดฒเดพเดธเดคเตเดคเดฟเดฒเตเดเตเดเต เดเดฐเต เดเตปเดเดฎเดฟเดเดเต เดซเตเดฒเต เดธเดเตเดเตฝเดชเตเดชเดฟเดเตเดเตเด, เด เดชเตเดฐเดตเดพเดนเด เดเดฟเดฒ (เด เดฒเตเดฒเตเดเตเดเดฟเตฝ เดเดฒเตเดฒเดพ) เดเตเดฐเดพเดฎเดเตเดเดณเดฟเดฒเตเดเตเดเตเด เดเดฐเต เดฑเตเดกเดฟเดฏเต เดฒเดฟเดเตเดเดฟเดฒเตเดเตเดเต เดชเดฑเดเตเดเตเดจเตเดจเต - เดเดพเดจเตฝ เด เดเดเตเดเตเดชเตเดฏเดฟ - เดเตเดฒเดฏเดจเตเดฑเตเดเตพเดเตเดเต เดฆเตเดทเตเดฏเด - เดธเดเตเดเดเด...
เดเดฐเต เดฌเดเต เดเดฐเต เดซเตเดเตเดเดฑเดพเดเตเดเดฟ เดฎเดพเดฑเตเดฑเตเดเดฏเดพเดฃเต เดฒเดเตเดทเตเดฏเด. เดเดฐเต เดธเดฎเตเดชเตเตผเดฃเตเดฃ เดเตเดฒเดฏเดจเตเดฑเต vlan เดเดชเดฏเตเดเดฟเดเตเดเต เดเดพเตป q-in-q-เดจเตเดฑเต เดฆเดฟเดถเดฏเดฟเดฒเดพเดฃเต เดเดฟเดจเตเดคเดฟเดเตเดเดคเต, เดเดจเตเดจเดพเตฝ P3310 เดชเตเดฒเตเดฏเตเดณเตเดณ เดเดฒเตเดฒเดพเดคเตเดคเดฐเด เดนเดพเตผเดกเตโเดตเตเดฏเดฑเตเดเดณเตเด, dot1q เดชเตเดฐเดตเตผเดคเตเดคเดจเดเตเดทเดฎเดฎเดพเดเตเดเตเดฎเตเดชเตเตพ, DHCP เดเดเดจเตเดจเตเดชเตเดเตเดจเตเดจเดคเต เดจเดฟเตผเดคเตเดคเตเดจเตเดจเต, เด เดตเตผเดเตเดเต qinq เดเดเตเดเดจเต เดคเดฟเดฐเดเตเดเตเดเตเดเตเดเดพเดฎเตเดจเตเดจเต เด เดฑเดฟเดฏเดฟเดฒเตเดฒ, เดเตเดเดพเดคเต เดจเดฟเดฐเดตเดงเดฟ เด เดชเดเดเดเตเดเดณเตเด เด เดคเดฐเดคเตเดคเดฟเดฒเตเดณเตเดณ. เดเดจเตเดคเดพเดฃเต ip-unnambered, เด เดคเต เดเดเตเดเดจเตเดฏเดพเดฃเต เดชเตเดฐเดตเตผเดคเตเดคเดฟเดเตเดเตเดจเตเดจเดคเต? เดตเดณเดฐเต เดเตเดฐเตเดเตเดเดคเตเดคเดฟเตฝ: เดเตเดฑเตเดฑเตโเดตเต เดตเดฟเดฒเดพเดธเด + เดเดจเตเดฑเตผเดซเตเดธเดฟเดฒเต เดฑเตเดเตเดเต. เดเดเตเดเดณเตเดเต เดเตเดฎเดคเดฒเดฏเตโเดเตเดเดพเดฏเดฟ, เดเดเตเดเตพเดเตเดเต เดเดคเต เดเดตเดถเตเดฏเดฎเดพเดฃเต: เดทเตเดชเตเดชเตผ เดฎเตเดฑเดฟเดเตเดเตเด, เดเตเดฒเดฏเดจเตเดฑเตเดเตพเดเตเดเต เดตเดฟเดฒเดพเดธเดเตเดเตพ เดตเดฟเดคเดฐเดฃเด เดเตเดฏเตเดฏเตเด, เดเดฟเดฒ เดเดจเตเดฑเตผเดซเตเดธเตเดเดณเดฟเดฒเตเดเต เดเตเดฒเดฏเดจเตเดฑเตเดเดณเดฟเดฒเตเดเตเดเต เดฑเตเดเตเดเตเดเตพ เดเตเตผเดเตเดเตเด. เดเดคเตเดฒเตเดฒเดพเด เดเดเตเดเดจเต เดเตเดฏเตเดฏเดพเด? Shaper - lisg, dhcp - db2dhcp เดฐเดฃเตเดเต เดธเตเดตเดคเดจเตเดคเตเดฐ เดธเตเตผเดตเดฑเตเดเดณเดฟเตฝ, dhcprelay เดเดเตเดธเดธเต เดธเตเตผเดตเดฑเตเดเดณเดฟเตฝ เดชเตเดฐเดตเตผเดคเตเดคเดฟเดเตเดเตเดจเตเดจเต, ucarp เดเดเตเดธเดธเต เดธเตเตผเดตเดฑเตเดเดณเดฟเดฒเตเด เดชเตเดฐเดตเตผเดคเตเดคเดฟเดเตเดเตเดจเตเดจเต - เดฌเดพเดเตเดเดชเตเดชเดฟเดจเดพเดฏเดฟ. เดเดจเตเดจเดพเตฝ เดเดเตเดเดจเต เดฑเตเดเตเดเตเดเตพ เดเตเตผเดเตเดเดพเด? เดเดฐเต เดตเดฒเดฟเดฏ เดธเตเดเตเดฐเดฟเดชเตเดฑเตเดฑเต เดเดชเดฏเตเดเดฟเดเตเดเต เดจเดฟเดเตเดเตพเดเตเดเต เดเดฒเตเดฒเดพเด เดฎเตเตปเดเตเดเตเดเดฟ เดเตเตผเดเตเดเดพเตป เดเดดเดฟเดฏเตเด - เดเดจเตเดจเดพเตฝ เดเดคเต เดถเดฐเดฟเดฏเดฒเตเดฒ. เด เดคเดฟเดจเดพเตฝ เดเดเตเดเตพ เดธเตเดตเดฏเด เดเดดเตเดคเดฟเดฏ เดเดจเตเดจเตเดตเดเดฟ เดเดฃเตเดเดพเดเตเดเตเด.
เดเตปเดฑเตผเดจเตเดฑเตเดฑเดฟเดฒเต เดธเดฎเดเตเดฐเดฎเดพเดฏ เดคเดฟเดฐเดเตเดเดฟเดฒเดฟเดจเต เดถเตเดทเด, C++ เดจเดพเดฏเตเดณเตเดณ เด เดคเดฟเดถเดฏเดเดฐเดฎเดพเดฏ เดเดฐเต เดนเต-เดฒเตเดตเตฝ เดฒเตเดฌเตเดฐเดฑเดฟ เดเดพเตป เดเดฃเตเดเตเดคเตเดคเดฟ, เด เดคเต เดเตเดฐเดพเดซเดฟเดเตเดเต เดฎเดจเตเดนเดฐเดฎเดพเดฏเดฟ เดฎเดฃเดเตเดเดพเตป เดจเดฟเดเตเดเดณเต เด เดจเตเดตเดฆเดฟเดเตเดเตเดจเตเดจเต. เดฑเตเดเตเดเตเดเตพ เดเตเตผเดเตเดเตเดจเตเดจ เดชเตเดฐเตเดเตเดฐเดพเดฎเดฟเดจเตเดฑเต เด เตฝเดเตเดฐเดฟเดคเด เดเดชเตเดฐเดเดพเดฐเดฎเดพเดฃเต - เดเดเตเดเตพ เดเดจเตเดฑเตผเดซเตเดธเดฟเดฒเต arp เด เดญเตเดฏเตผเดคเตเดฅเดจเดเตพ เดถเตเดฐเดฆเตเดงเดฟเดเตเดเตเดจเตเดจเต, เด เดญเตเดฏเตผเดคเตเดฅเดฟเดเตเด เดธเตเตผเดตเดฑเดฟเดฒเต เดฒเต เดเดจเตเดฑเตผเดซเตเดธเดฟเตฝ เดเดเตเดเตพเดเตเดเต เดเดฐเต เดตเดฟเดฒเดพเดธเดฎเตเดฃเตเดเตเดเตเดเดฟเตฝ, เดเดเตเดเตพ เด เดเดจเตเดฑเตผเดซเตเดธเดฟเดฒเตเดเต เดเดฐเต เดฑเตเดเตเดเต เดเตเตผเดเตเดเตเดเดฏเตเด เดเดฐเต เดธเตเดฑเตเดฑเดพเดฑเตเดฑเดฟเดเต เดเตผเดชเตเดชเต เดเตเตผเดเตเดเตเดเดฏเตเด เดเตเดฏเตเดฏเตเดจเตเดจเต เด เดเดชเดฟเดฏเดฟเตฝ เดฐเตเดเดชเตเดชเตเดเตเดคเตเดคเตเด - เดชเตเดคเตเดตเต, เดเตเดฑเดเตเดเต เดเตเดชเตเดชเดฟ-เดชเตเดธเตเดฑเตเดฑเตเดเตพ, เดเดฐเต เดเตเดฑเดฟเดฏ เดจเดพเดฎเดตเดฟเดถเตเดทเดฃเด, เดจเดฟเดเตเดเตพ เดชเตเตผเดคเตเดคเดฟเดฏเดพเดเตเดเดฟ
'เดฑเตเดเตเดเดฑเดฟเดจเตเดฑเต' เดเดฑเดตเดฟเดเดเตเดเตพ
#include <stdio.h>
#include <sys/types.h>
#include <ifaddrs.h>
#include <netinet/in.h>
#include <string.h>
#include <arpa/inet.h>
#include <tins/tins.h>
#include <map>
#include <iostream>
#include <functional>
#include <sstream>
using std::cout;
using std::endl;
using std::map;
using std::bind;
using std::string;
using std::stringstream;
using namespace Tins;
class arp_monitor {
public:
void run(Sniffer &sniffer);
void reroute();
void makegws();
string iface;
map <string, string> gws;
private:
bool callback(const PDU &pdu);
map <string, string> route_map;
map <string, string> mac_map;
map <IPv4Address, HWAddress<6>> addresses;
};
void arp_monitor::makegws() {
struct ifaddrs *ifAddrStruct = NULL;
struct ifaddrs *ifa = NULL;
void *tmpAddrPtr = NULL;
gws.clear();
getifaddrs(&ifAddrStruct);
for (ifa = ifAddrStruct; ifa != NULL; ifa = ifa->ifa_next) {
if (!ifa->ifa_addr) {
continue;
}
string ifName = ifa->ifa_name;
if (ifName == "lo") {
char addressBuffer[INET_ADDRSTRLEN];
if (ifa->ifa_addr->sa_family == AF_INET) { // check it is IP4
// is a valid IP4 Address
tmpAddrPtr = &((struct sockaddr_in *) ifa->ifa_addr)->sin_addr;
inet_ntop(AF_INET, tmpAddrPtr, addressBuffer, INET_ADDRSTRLEN);
} else if (ifa->ifa_addr->sa_family == AF_INET6) { // check it is IP6
// is a valid IP6 Address
tmpAddrPtr = &((struct sockaddr_in6 *) ifa->ifa_addr)->sin6_addr;
inet_ntop(AF_INET6, tmpAddrPtr, addressBuffer, INET6_ADDRSTRLEN);
} else {
continue;
}
gws[addressBuffer] = addressBuffer;
cout << "GW " << addressBuffer << " is added" << endl;
}
}
if (ifAddrStruct != NULL) freeifaddrs(ifAddrStruct);
}
void arp_monitor::run(Sniffer &sniffer) {
cout << "RUNNED" << endl;
sniffer.sniff_loop(
bind(
&arp_monitor::callback,
this,
std::placeholders::_1
)
);
}
void arp_monitor::reroute() {
cout << "REROUTING" << endl;
map<string, string>::iterator it;
for ( it = route_map.begin(); it != route_map.end(); it++ ) {
if (this->gws.count(it->second) && !this->gws.count(it->second)) {
string cmd = "ip route replace ";
cmd += it->first;
cmd += " dev " + this->iface;
cmd += " src " + it->second;
cmd += " proto static";
cout << cmd << std::endl;
cout << "REROUTE " << it->first << " SRC " << it->second << endl;
system(cmd.c_str());
cmd = "arp -s ";
cmd += it->first;
cmd += " ";
cmd += mac_map[it->first];
cout << cmd << endl;
system(cmd.c_str());
}
}
for ( it = gws.begin(); it != gws.end(); it++ ) {
string cmd = "arping -U -s ";
cmd += it->first;
cmd += " -I ";
cmd += this->iface;
cmd += " -b -c 1 ";
cmd += it->first;
system(cmd.c_str());
}
cout << "REROUTED" << endl;
}
bool arp_monitor::callback(const PDU &pdu) {
// Retrieve the ARP layer
const ARP &arp = pdu.rfind_pdu<ARP>();
if (arp.opcode() == ARP::REQUEST) {
string target = arp.target_ip_addr().to_string();
string sender = arp.sender_ip_addr().to_string();
this->route_map[sender] = target;
this->mac_map[sender] = arp.sender_hw_addr().to_string();
cout << "save sender " << sender << ":" << this->mac_map[sender] << " want taregt " << target << endl;
if (this->gws.count(target) && !this->gws.count(sender)) {
string cmd = "ip route replace ";
cmd += sender;
cmd += " dev " + this->iface;
cmd += " src " + target;
cmd += " proto static";
// cout << cmd << std::endl;
/* cout << "ARP REQUEST FROM " << arp.sender_ip_addr()
<< " for address " << arp.target_ip_addr()
<< " sender hw address " << arp.sender_hw_addr() << std::endl
<< " run cmd: " << cmd << endl;*/
system(cmd.c_str());
cmd = "arp -s ";
cmd += arp.sender_ip_addr().to_string();
cmd += " ";
cmd += arp.sender_hw_addr().to_string();
cout << cmd << endl;
system(cmd.c_str());
}
}
return true;
}
arp_monitor monitor;
void reroute(int signum) {
monitor.makegws();
monitor.reroute();
}
int main(int argc, char *argv[]) {
string test;
cout << sizeof(string) << endl;
if (argc != 2) {
cout << "Usage: " << *argv << " <interface>" << endl;
return 1;
}
signal(SIGHUP, reroute);
monitor.iface = argv[1];
// Sniffer configuration
SnifferConfiguration config;
config.set_promisc_mode(true);
config.set_filter("arp");
monitor.makegws();
try {
// Sniff on the provided interface in promiscuous mode
Sniffer sniffer(argv[1], config);
// Only capture arp packets
monitor.run(sniffer);
}
catch (std::exception &ex) {
std::cerr << "Error: " << ex.what() << std::endl;
}
}
libtins เดเตปเดธเตเดฑเตเดฑเดฒเตเดทเตป เดธเตเดเตเดฐเดฟเดชเตเดฑเตเดฑเต
#!/bin/bash
git clone https://github.com/mfontanini/libtins.git
cd libtins
mkdir build
cd build
cmake ../
make
make install
ldconfig
เดฌเตเดจเดฑเดฟ เดจเดฟเตผเดฎเตเดฎเดฟเดเตเดเดพเดจเตเดณเตเดณ เดเดฎเดพเตปเดกเต
g++ main.cpp -o arp-rt -O3 -std=c++11 -lpthread -ltins
เด เดคเต เดเดเตเดเดจเต เดตเดฟเดเตเดทเตเดชเดฟเดเตเดเตเด?
start-stop-daemon --start --exec /opt/ipoe/arp-routes/arp-rt -b -m -p /opt/ipoe/arp-routes/daemons/eth0.800.pid -- eth0.800
เด เดคเต - เดเดคเต HUP เดธเดฟเดเตเดจเดฒเดฟเดจเต เด เดเดฟเดธเตเดฅเดพเดจเดฎเดพเดเตเดเดฟ เดชเดเตเดเดฟเดเดเตพ เดชเตเดจเตผเดจเดฟเตผเดฎเตเดฎเดฟเดเตเดเตเด. เดเดจเตเดคเตเดเตเดฃเตเดเดพเดฃเต เดจเดฟเดเตเดเตพ เดจเตเดฑเตเดฑเตเดฒเดฟเดเตเดเต เดเดชเดฏเตเดเดฟเดเตเดเดพเดคเตเดคเดคเต? เดเดคเต เดตเตเดฑเตเด เด เดฒเดธเดคเดฏเดพเดฃเต, เดฒเดฟเดจเดเตเดธเต เดเดฐเต เดธเตเดเตเดฐเดฟเดชเตเดฑเตเดฑเดฟเดฒเต เดเดฐเต เดธเตเดเตเดฐเดฟเดชเตเดฑเตเดฑเดพเดฃเต - เด เดคเดฟเดจเดพเตฝ เดเดฒเตเดฒเดพเด เดถเดฐเดฟเดฏเดพเดฃเต. เดถเดฐเดฟ, เดฑเตเดเตเดเตเดเตพ เดฑเตเดเตเดเตเดเดณเดพเดฃเต, เด เดเตเดคเตเดคเดคเต เดเดจเตเดคเดพเดฃเต? เด เดเตเดคเตเดคเดคเดพเดฏเดฟ, เด เดธเตเตผเดตเดฑเดฟเดฒเต เดฑเตเดเตเดเตเดเตพ เดฌเตเตผเดกเดฑเดฟเดฒเตเดเตเดเต เด เดฏเดฏเตโเดเตเดเตเดฃเตเดเดคเตเดฃเตเดเต - เดเดตเดฟเดเต, เด เดคเต เดเดพเดฒเดนเดฐเดฃเดชเตเดชเตเดเตเด เดนเดพเตผเดกเตโเดตเตเดฏเตผ เดเดพเดฐเดฃเด, เดเดเตเดเตพ เดเดฑเตเดฑเดตเตเด เดเตเดฑเดเตเด เดชเตเดฐเดคเดฟเดฐเตเดงเดคเตเดคเดฟเดจเตเดฑเต เดชเดพเดค เดธเตเดตเตเดเดฐเดฟเดเตเดเต - เดเดเตเดเตพ เด เดเดพเดธเตโเดเต เดฌเดฟเดเดฟเดชเดฟเดฏเต เดเตฝเดชเตเดชเดฟเดเตเดเต.
bgp เดเตเตบเดซเดฟเดเดฑเตเดทเตปเดนเตเดธเตเดฑเตเดฑเต เดจเดพเดฎเด *******
password *******
เดฒเตเดเต เดซเดฏเตฝ /var/log/bgp.log
!
# AS เดจเดฎเตเดชเดฑเตเด เดตเดฟเดฒเดพเดธเดเตเดเดณเตเด เดจเตเดฑเตเดฑเตโเดตเตผเดเตเดเตเดเดณเตเด เดธเดพเดเตเดเตฝเดชเตเดชเดฟเดเดฎเดพเดฃเต
เดฑเตเดเตเดเตผ bgp 12345
bgp เดฑเตเดเตเดเตผ-เดเดกเดฟ 1.2.3.4
เดฌเดจเตเดงเดฟเดชเตเดชเดฟเดเตเด เดชเตเดจเตผเดตเดฟเดคเดฐเดฃเด
เดธเตเดฑเตเดฑเดพเดฑเตเดฑเดฟเดเต เดชเตเดจเตผเดตเดฟเดคเดฐเดฃเด เดเตเดฏเตเดฏเตเด
เด
เดฏเตฝเดเตเดเดพเดฐเตป 1.2.3.1 เดฑเดฟเดฎเตเดเตเดเต-เดเดธเต 12345
เด
เดฏเตฝเดเตเดเดพเดฐเตป 1.2.3.1 เดจเตเดเตเดธเตเดฑเตเดฑเต-เดนเตเดชเตเดชเต-เดธเตเตฝเดซเต
เด
เดฏเตฝเดเตเดเดพเดฐเตป 1.2.3.1 เดฑเตเดเตเดเต-เดฎเดพเดชเตเดชเต เดเดจเตเดจเตเดฎเดฟเดฒเตเดฒ
เด
เดฏเตฝเดเตเดเดพเดฐเตป 1.2.3.1 เดฑเตเดเตเดเต-เดฎเดพเดชเตเดชเต เดเดฏเดฑเตเดฑเตเดฎเดคเดฟ เดเดเตเดเต
!
เดเดเตเดธเดธเต-เดฒเดฟเดธเตเดฑเตเดฑเต เดเดฏเดฑเตเดฑเตเดฎเดคเดฟ เดชเตเตผเดฎเดฟเดฑเตเดฑเต 1.2.3.0/24
!
เดฑเตเดเตเดเต-เดฎเดพเดชเตเดชเต เดเดฏเดฑเตเดฑเตเดฎเดคเดฟ เดชเตเตผเดฎเดฟเดฑเตเดฑเต 10
เดเดชเดฟ เดตเดฟเดฒเดพเดธ เดเดฏเดฑเตเดฑเตเดฎเดคเดฟเดฏเตเดฎเดพเดฏเดฟ เดชเตเดฐเตเดคเตเดคเดชเตเดชเตเดเตเด
!
เดฑเตเดเตเดเต-เดฎเดพเดชเตเดชเต เดเดฏเดฑเตเดฑเตเดฎเดคเดฟ เดจเดฟเดทเตเดงเดฟเดเตเดเตเดจเตเดจเต 20
เดจเดฎเตเดเตเดเต เดคเตเดเดฐเดพเด. arp เด เดญเตเดฏเตผเดคเตเดฅเดจเดเดณเตเดเต เดธเตเตผเดตเตผ เดชเตเดฐเดคเดฟเดเดฐเดฟเดเตเดเตเดจเตเดจเดคเดฟเดจเต, เดจเดฟเดเตเดเตพ arp เดชเตเดฐเตเดเตเดธเดฟ เดชเตเดฐเดตเตผเดคเตเดคเดจเดเตเดทเดฎเดฎเดพเดเตเดเดฃเด.
echo 1 > /proc/sys/net/ipv4/conf/eth0.800/proxy_arp
เดจเดฎเตเดเตเดเต เดฎเตเดจเตเดจเตเดเตเดเต เดชเตเดเดพเด - ucarp. เด เด เดคเตเดญเตเดคเดคเตเดคเดฟเดจเตเดฑเต เดฒเตเดเตเดเต เดธเตเดเตเดฐเดฟเดชเตเดฑเตเดฑเตเดเตพ เดเดเตเดเตพ เดธเตเดตเดฏเด เดเดดเตเดคเตเดจเตเดจเต.
เดเดฐเต เดกเตเดฎเตบ เดชเตเดฐเดตเตผเดคเตเดคเดฟเดชเตเดชเดฟเดเตเดเตเดจเตเดจเดคเดฟเดจเตเดฑเต เดเดฆเดพเดนเดฐเดฃเด
start-stop-daemon --start --exec /usr/sbin/ucarp -b -m -p /opt/ipoe/ucarp-gen2/daemons/$iface.$vhid.$virtualaddr.pid -- --interface=eth0.800 --srcip=1.2.3.4 --vhid=1 --pass=carpasword --addr=10.10.10.1 --upscript=/opt/ipoe/ucarp-gen2/up.sh --downscript=/opt/ipoe/ucarp-gen2/down.sh -z -k 10 -P --xparam="10.10.10.0/24"
up.sh
#!/bin/bash
iface=$1
addr=$2
gw=$3
vlan=`echo $1 | sed "s/eth0.//"`
ip ad ad $addr/32 dev lo
ip ro add blackhole $gw
echo 1 > /proc/sys/net/ipv4/conf/$iface/proxy_arp
killall -9 dhcrelay
/etc/init.d/dhcrelay zap
/etc/init.d/dhcrelay start
killall -HUP arp-rt
down.sh
#!/bin/bash
iface=$1
addr=$2
gw=$3
ip ad d $addr/32 dev lo
ip ro de blackhole $gw
echo 0 > /proc/sys/net/ipv4/conf/$iface/proxy_arp
killall -9 dhcrelay
/etc/init.d/dhcrelay zap
/etc/init.d/dhcrelay start
dhcprelay เดเดฐเต เดเดจเตเดฑเตผเดซเตเดธเดฟเตฝ เดชเตเดฐเดตเตผเดคเตเดคเดฟเดเตเดเตเดจเตเดจเดคเดฟเดจเต, เด เดคเดฟเดจเต เดเดฐเต เดตเดฟเดฒเดพเดธเด เดเดตเดถเตเดฏเดฎเดพเดฃเต. เด เดคเดฟเดจเดพเตฝ, เดเดเตเดเตพ เดเดชเดฏเตเดเดฟเดเตเดเตเดจเตเดจ เดเดจเตเดฑเตผเดซเตเดธเตเดเดณเดฟเตฝ เดเดเตเดเตพ เดเดเดคเต เดตเดฟเดฒเดพเดธเดเตเดเตพ เดเตเตผเดเตเดเตเด - เดเดฆเดพเดนเดฐเดฃเดคเตเดคเดฟเดจเต 10.255.255.1/32, 10.255.255.2/32, เดฎเตเดคเดฒเดพเดฏเดต. เดฑเดฟเดฒเต เดเดเตเดเดจเต เดเตเดฐเดฎเตเดเดฐเดฟเดเตเดเดพเดฎเตเดจเตเดจเต เดเดพเตป เดจเดฟเดเตเดเดณเตเดเต เดชเดฑเดฏเดฟเดฒเตเดฒ - เดเดฒเตเดฒเดพเด เดฒเดณเดฟเดคเดฎเดพเดฃเต.
เด เดชเตเดชเตเตพ เดจเดฎเตเดเตเดเต เดเดจเตเดคเดพเดฃเต เดเดณเตเดณเดคเต? เดเตเดฑเตเดฑเตโเดตเตเดเดณเตเดเต เดฌเดพเดเตเดเดชเตเดชเต, เดฑเตเดเตเดเตเดเดณเตเดเต เดฏเดพเดจเตเดคเตเดฐเดฟเด เดเตเตบเดซเดฟเดเดฑเตเดทเตป, dhcp. เดเดคเดพเดฃเต เดเดฑเตเดฑเดตเตเด เดเตเดฑเดเตเด เดธเตเดฑเตเดฑเต - เดฒเดฟเดธเตโเดเต เดเดฒเตเดฒเดพเด เดเตเดฑเตเดฑเดฟเดชเตเดชเดฑเตเดฑเดฟเดฏเดพเดฃเต, เดเดเตเดเตพเดเตเดเต เดเดคเดฟเดจเดเด เดเดฐเต เดทเตเดชเตเดชเตผ เดเดฃเตเดเต. เดเดจเตเดคเตเดเตเดฃเตเดเดพเดฃเต เดเดฒเตเดฒเดพเด เดตเดณเดฐเต เดฆเตเตผเดเตเดฏเดฎเตเดฑเดฟเดฏเดคเตเด เดเดถเดฏเดเตเดเตเดดเดชเตเดชเดคเตเดคเดฟเดฒเดพเดเตเดเตเดจเตเดจเดคเตเด? accel-pppd เดเดเตเดคเตเดคเต pppoe เดฎเตเดคเตเดคเดคเตเดคเดฟเตฝ เดเดชเดฏเตเดเดฟเดเตเดเตเดจเตเดจเดคเต เดเดณเตเดชเตเดชเดฎเดฒเตเดฒเต? เดเดฒเตเดฒ, เดเดคเต เดฒเดณเดฟเดคเดฎเดฒเตเดฒ - เดเดณเตเดเตพเดเตเดเต เดเดฐเต เดชเดพเดเตเดเตเดเตเตผเดกเต เดเดฐเต เดฑเตเดเตเดเดฑเดฟเตฝ เดเดเดฟเดชเตเดชเดฟเดเตเดเดพเตป เดเดดเดฟเดฏเดฟเดฒเตเดฒ, pppoeเดฏเต เดชเดฐเดพเดฎเตผเดถเดฟเดเตเดเตเดฃเตเดเดคเดฟเดฒเตเดฒ. accel-ppp เดเดฐเต เดฐเดธเดเดฐเดฎเดพเดฏ เดเดพเดฐเตเดฏเดฎเดพเดฃเต - เดชเดเตเดทเต เดเดคเต เดเดเตเดเตพเดเตเดเต เดตเตเดฃเตเดเดฟ เดชเตเดฐเดตเตผเดคเตเดคเดฟเดเตเดเดฟเดฒเตเดฒ - เดเตเดกเดฟเตฝ เดงเดพเดฐเดพเดณเด เดชเดฟเดถเดเตเดเตพ เดเดฃเตเดเต - เด เดคเต เดคเดเดฐเตเดจเตเดจเต, เด เดคเต เดตเดณเดเตเดเดคเดพเดฏเดฟ เดฎเตเดฑเดฟเดเตเดเตเดจเตเดจเต, เดเดฑเตเดฑเดตเตเด เดธเดเตเดเดเดเดฐเดฎเดพเดฏ เดเดพเดฐเตเดฏเด เด เดคเต เดคเดฟเดณเดเตเดเตเดเดฏเดพเดฃเตเดเตเดเดฟเตฝ - เดเดณเตเดเตพ เดตเตเดฃเตเดเตเด เดฒเตเดกเตเดเตเดฏเตเดฏเตเดฃเตเดเดคเตเดฃเตเดเต เดเดฒเตเดฒเดพเด - เดซเตเดฃเตเดเตพ เดเตเดตเดจเตเดจเดคเดพเดฃเต - เด เดคเต เดเดเตเดเตเด เดชเตเดฐเดตเตผเดคเตเดคเดฟเดเตเดเดฟเดฒเตเดฒ. เดจเดฟเดฒเดจเดฟเตผเดคเตเดคเตเดจเตเดจเดคเดฟเดจเตเดชเดเดฐเด เดฏเตเดเดพเตผเดชเตเดชเต เดเดชเดฏเตเดเดฟเดเตเดเตเดจเตเดจเดคเดฟเดจเตเดฑเต เดชเตเดฐเดฏเตเดเดจเด เดเดจเตเดคเดพเดฃเต? เด เดคเต, เดเดฒเตเดฒเดพเดคเตเดคเดฟเดฒเตเด - 100 เดเตเดฑเตเดฑเตโเดตเตเดเตพ เดเดฃเตเดเต, เดเตเดชเดฒเตเดตเต, เดเตเตบเดซเดฟเดเดฑเตเดทเดจเดฟเตฝ เดเดฐเต เดชเดฟเดถเดเต - เดเดฒเตเดฒเดพเด เดชเตเดฐเดตเตผเดคเตเดคเดฟเดเตเดเตเดจเตเดจเดฟเดฒเตเดฒ. 1 เดเตเดฑเตเดฑเตโเดตเต เดฏเตเดเดพเตผเดชเตเดชเดฟเดจเตเดชเตเดชเด เดชเตเดฐเดตเตผเดคเตเดคเดฟเดเตเดเตเดจเตเดจเดฟเดฒเตเดฒ. เดธเตเดฐเดเตเดทเดฏเต เดธเดเดฌเดจเตเดงเดฟเดเตเดเต, เดเดเดคเต เดชเดเตเดทเด เดคเดเตเดเตพเดเตเดเดพเดฏเดฟ เดตเดฟเดฒเดพเดธเดเตเดเตพ เดฐเดเดฟเดธเตเดฑเตเดฑเตผ เดเตเดฏเตเดฏเตเดเดฏเตเด เด เดต เดชเดเตเดเดฟเดเดฒเดฟเตฝ เดเดชเดฏเตเดเดฟเดเตเดเตเดเดฏเตเด เดเตเดฏเตเดฏเตเดฎเตเดจเตเดจเต เด เดตเตผ เดชเดฑเดฏเตเดจเตเดจเต - เด เดจเดฟเดฎเดฟเดทเด เดจเดฟเดฏเดจเตเดคเตเดฐเดฟเดเตเดเดพเตป, เดเดเตเดเตพ เดเดฒเตเดฒเดพ เดธเตเดตเดฟเดเตเดเตเดเดณเดฟเดฒเตเด/เดเตพเดเตเดเตโเดธเต/เดฌเตเดธเตเดเดณเดฟเดฒเตเด dhcp-snooping + source-guard + arp เดชเดฐเดฟเดถเตเดงเดจ เดธเดเตเดเตเดเดฐเดฟเดเตเดเตเดจเตเดจเต. เดเตเดฒเดฏเดจเตเดฑเดฟเดจเต dhpc เดเดฒเตเดฒเตเดเตเดเดฟเตฝ เดธเตเดฑเตเดฑเดพเดฑเตเดฑเดฟเดเต - เดชเตเตผเดเตเดเดฟเดฒเต เดเดเตเดธเดธเต-เดฒเดฟเดธเตเดฑเตเดฑเต.
เดเดจเตเดคเตเดเตเดฃเตเดเดพเดฃเต เดเดคเตเดฒเตเดฒเดพเด เดเตเดฏเตเดคเดคเต? เด เดจเดพเดตเดถเตเดฏ เดเตเดฐเดพเดซเดฟเดเต เดจเดถเดฟเดชเตเดชเดฟเดเตเดเดพเตป. เดเดชเตเดชเตเตพ เดเดฐเต เดธเตเดตเดฟเดเตเดเดฟเดจเตเด เด เดคเดฟเดจเตเดฑเตเดคเดพเดฏ vlan เดเดฃเตเดเต, เด เดเตเดเดพเดค-เดฏเตเดฃเดฟเดเดพเดธเตเดฑเตเดฑเต เดเดจเดฟ เดญเดฏเดพเดจเดเดฎเดฒเตเดฒ, เดเดพเดฐเดฃเด เดเดคเดฟเดจเต เดเดฐเต เดชเตเตผเดเตเดเดฟเดฒเตเดเตเดเต เดฎเดพเดคเตเดฐเดฎเต เดชเตเดเตเดฃเตเดเดคเตเดณเตเดณเต, เดเดฒเตเดฒเดพเดตเดฐเดฟเดฒเตเดเตเดเตเด เดชเตเดเตเดฃเตเดเดคเดฟเดฒเตเดฒ... เดถเดฐเดฟ, เดชเดพเตผเดถเตเดตเดซเดฒเดเตเดเตพ เดเดฐเต เดธเตเดฑเตเดฑเดพเตปเดกเตเตผเดกเต เดเดชเดเดฐเดฃ เดเตเตบเดซเดฟเดเดฑเดพเดฃเต, เดตเดฟเดฒเดพเดธ เดเดเด เด เดจเตเดตเดฆเดฟเดเตเดเตเดจเตเดจเดคเดฟเดฒเต เดเตเดเตเดคเตฝ เดเดพเดฐเตเดฏเดเตเดทเดฎเดคเดฏเดพเดฃเต.
เดฒเดฟเดธเตเดเต เดเดเตเดเดจเต เดเตเดฐเดฎเตเดเดฐเดฟเดเตเดเดพเด เดเดจเตเดจเดคเต เดเดฐเต เดชเตเดฐเดคเตเดฏเตเด เดตเดฟเดทเดฏเดฎเดพเดฃเต. เดฒเตเดฌเตเดฐเดฑเดฟเดเดณเดฟเดฒเตเดเตเดเตเดณเตเดณ เดฒเดฟเดเตเดเตเดเตพ เด เดฑเตเดฑเดพเดเตเดเต เดเตเดฏเตเดคเดฟเดเตเดเตเดฃเตเดเต. เดเดฐเตเดชเดเตเดทเต เดฎเตเตฝเดชเตเดชเดฑเดเตเดเดต เดเดฐเตเดฏเตเดเตเดเดฟเดฒเตเด เด เดตเดฐเตเดเต เดฒเดเตเดทเตเดฏเดเตเดเตพ เดเตเดตเดฐเดฟเดเตเดเดพเตป เดธเดนเดพเดฏเดฟเดเตเดเตเด. เดเดเตเดเดณเตเดเต เดจเตเดฑเตเดฑเตโเดตเตผเดเตเดเดฟเตฝ เดชเดคเดฟเดชเตเดชเต 6 เดเดคเตเดตเดฐเต เดจเดเดชเตเดชเดฟเดฒเดพเดเตเดเดฟเดฏเดฟเดเตเดเดฟเดฒเตเดฒ - เดชเดเตเดทเต เดเดฐเต เดชเตเดฐเดถเตโเดจเดฎเตเดฃเตเดเดพเดเตเด - เดชเดคเดฟเดชเตเดชเต 6-เดจเดพเดฏเดฟ เดฒเดฟเดธเตโเดเต เดฎเดพเดฑเตเดฑเดฟเดฏเตเดดเตเดคเดพเตป เดชเดฆเตเดงเดคเดฟเดฏเตเดฃเตเดเต, เดเตเดเดพเดคเต เดฑเตเดเตเดเตเดเตพ เดเตเตผเดเตเดเตเดจเตเดจ เดชเตเดฐเตเดเตเดฐเดพเด เดถเดฐเดฟเดฏเดพเดเตเดเตเดฃเตเดเดคเต เดเดตเดถเตเดฏเดฎเดพเดฃเต.
เด
เดตเดฒเดเดฌเด: www.habr.com