去除默认绑定网卡的逻辑
This commit is contained in:
+2
-12
@@ -12,7 +12,6 @@ use crate::channel::context::ChannelContext;
|
|||||||
use crate::channel::idle::Idle;
|
use crate::channel::idle::Idle;
|
||||||
use crate::channel::punch::{NatInfo, Punch};
|
use crate::channel::punch::{NatInfo, Punch};
|
||||||
use crate::channel::sender::IpPacketSender;
|
use crate::channel::sender::IpPacketSender;
|
||||||
use crate::channel::socket::LocalInterface;
|
|
||||||
use crate::channel::{init_channel, init_context, Route, RouteKey};
|
use crate::channel::{init_channel, init_context, Route, RouteKey};
|
||||||
use crate::cipher::Cipher;
|
use crate::cipher::Cipher;
|
||||||
#[cfg(feature = "server_encrypt")]
|
#[cfg(feature = "server_encrypt")]
|
||||||
@@ -30,7 +29,7 @@ use crate::tun_tap_device::tun_create_helper::{DeviceAdapter, TunDeviceHelper};
|
|||||||
use crate::tun_tap_device::vnt_device::DeviceWrite;
|
use crate::tun_tap_device::vnt_device::DeviceWrite;
|
||||||
use crate::util::limit::TrafficMeterMultiAddress;
|
use crate::util::limit::TrafficMeterMultiAddress;
|
||||||
use crate::util::{Scheduler, StopManager};
|
use crate::util::{Scheduler, StopManager};
|
||||||
use crate::{channel, nat, VntCallback};
|
use crate::{nat, VntCallback};
|
||||||
|
|
||||||
#[derive(Clone)]
|
#[derive(Clone)]
|
||||||
pub struct Vnt {
|
pub struct Vnt {
|
||||||
@@ -138,16 +137,7 @@ impl VntInner {
|
|||||||
} else {
|
} else {
|
||||||
nat::local_ipv4()
|
nat::local_ipv4()
|
||||||
};
|
};
|
||||||
let default_interface = if config.in_ips.is_empty() {
|
let default_interface = config.local_interface.clone();
|
||||||
//没有改变路由,不需要绑定网卡
|
|
||||||
LocalInterface::default()
|
|
||||||
} else {
|
|
||||||
//vnt的流量都走这个接口
|
|
||||||
let default_interface =
|
|
||||||
channel::socket::get_best_interface(local_ipv4.unwrap_or(Ipv4Addr::UNSPECIFIED))?;
|
|
||||||
log::info!("default_interface = {:?}", default_interface);
|
|
||||||
default_interface
|
|
||||||
};
|
|
||||||
|
|
||||||
//基础信息
|
//基础信息
|
||||||
let config_info = BaseConfigInfo::new(
|
let config_info = BaseConfigInfo::new(
|
||||||
|
|||||||
+3
-1
@@ -164,7 +164,9 @@ impl Config {
|
|||||||
}
|
}
|
||||||
in_ips.sort_by(|(dest1, _, _), (dest2, _, _)| dest2.cmp(dest1));
|
in_ips.sort_by(|(dest1, _, _), (dest2, _, _)| dest2.cmp(dest1));
|
||||||
let local_interface = if let Some(local_ip) = local_ipv4 {
|
let local_interface = if let Some(local_ip) = local_ipv4 {
|
||||||
crate::channel::socket::get_interface(local_ip)?
|
let default_interface = crate::channel::socket::get_interface(local_ip)?;
|
||||||
|
log::info!("default_interface = {:?}", default_interface);
|
||||||
|
default_interface
|
||||||
} else {
|
} else {
|
||||||
LocalInterface::default()
|
LocalInterface::default()
|
||||||
};
|
};
|
||||||
|
|||||||
Reference in New Issue
Block a user