[−][src]Struct dfw::types::ContainerToContainer
The container-to-container section, defining how containers can communicate amongst each other.
Fields
default_policy: ChainPolicy
The default_policy
defines the default for when there is not a specific rule.
Filtering traffic within the same bridge
Depending on how your host is configured, traffic whose origin and destination interface are the same bridge is not filtered by the kernel netfilter module. This means that this default policy is not honored for traffic between containers that are on the same Docker network, but only for traffic that traverses two bridges.
If your kernel has the br_netfilter
kernel-module available, you can set the sysctl
net.bridge.bridge-nf-call-iptables
to 1
to have the netfilter-module act on traffic
within the same bridge, too. You can set this value temporarily like this:
sysctl net.bridge.bridge-nf-call-iptables=1
To permanently set this configuration, take a look at man sysctl.d
and man sysctl.conf
.
rules: Option<Vec<ContainerToContainerRule>>
An optional list of rules, see
ContainerToContainerRule
.
Example
The easiest way to define the rules is using TOMLs arrays of tables:
[container_to_container] default_policy = "drop" [[container_to_container.rules]] # first rule here [[container_to_container.rules]] # second rule here
Trait Implementations
impl Clone for ContainerToContainer
[src]
fn clone(&self) -> ContainerToContainer
[src]
fn clone_from(&mut self, source: &Self)
1.0.0[src]
impl Debug for ContainerToContainer
[src]
impl<'de> Deserialize<'de> for ContainerToContainer
[src]
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error> where
__D: Deserializer<'de>,
[src]
__D: Deserializer<'de>,
impl Eq for ContainerToContainer
[src]
impl Hash for ContainerToContainer
[src]
fn hash<__H: Hasher>(&self, state: &mut __H)
[src]
fn hash_slice<H>(data: &[Self], state: &mut H) where
H: Hasher,
1.3.0[src]
H: Hasher,
impl PartialEq<ContainerToContainer> for ContainerToContainer
[src]
fn eq(&self, other: &ContainerToContainer) -> bool
[src]
fn ne(&self, other: &ContainerToContainer) -> bool
[src]
impl Process<Iptables> for ContainerToContainer
[src]
fn process(
&self,
ctx: &ProcessContext<'_, Iptables>
) -> Result<Option<Vec<IptablesRule>>>
[src]
&self,
ctx: &ProcessContext<'_, Iptables>
) -> Result<Option<Vec<IptablesRule>>>
impl Process<Nftables> for ContainerToContainer
[src]
impl StructuralEq for ContainerToContainer
[src]
impl StructuralPartialEq for ContainerToContainer
[src]
Auto Trait Implementations
impl RefUnwindSafe for ContainerToContainer
impl Send for ContainerToContainer
impl Sync for ContainerToContainer
impl Unpin for ContainerToContainer
impl UnwindSafe for ContainerToContainer
Blanket Implementations
impl<T> Any for T where
T: 'static + ?Sized,
[src]
T: 'static + ?Sized,
impl<T> Borrow<T> for T where
T: ?Sized,
[src]
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src]
T: ?Sized,
fn borrow_mut(&mut self) -> &mut T
[src]
impl<T> DeserializeOwned for T where
T: for<'de> Deserialize<'de>,
[src]
T: for<'de> Deserialize<'de>,
impl<Q, K> Equivalent<K> for Q where
K: Borrow<Q> + ?Sized,
Q: Eq + ?Sized,
[src]
K: Borrow<Q> + ?Sized,
Q: Eq + ?Sized,
fn equivalent(&self, key: &K) -> bool
[src]
impl<T> From<T> for T
[src]
impl<T, U> Into<U> for T where
U: From<T>,
[src]
U: From<T>,
impl<T> Sealed<T> for T where
T: ?Sized,
T: ?Sized,
impl<T> SendSyncUnwindSafe for T where
T: Send + Sync + UnwindSafe + ?Sized,
T: Send + Sync + UnwindSafe + ?Sized,
impl<T> ToOwned for T where
T: Clone,
[src]
T: Clone,
type Owned = T
The resulting type after obtaining ownership.
fn to_owned(&self) -> T
[src]
fn clone_into(&self, target: &mut T)
[src]
impl<T, U> TryFrom<U> for T where
U: Into<T>,
[src]
U: Into<T>,
type Error = Infallible
The type returned in the event of a conversion error.
fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>
[src]
impl<T, U> TryInto<U> for T where
U: TryFrom<T>,
[src]
U: TryFrom<T>,
type Error = <U as TryFrom<T>>::Error
The type returned in the event of a conversion error.
fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>
[src]
impl<V, T> VZip<V> for T where
V: MultiLane<T>,
V: MultiLane<T>,