手动搭建一个net转发

复制代码
#!/bin/bash

ip netns delete ns1
ip netns add ns1  # 创建新 namespace ns1

ip link add veth0 type veth peer name veth1  # 创建一对veth pair
ip link set veth0 netns ns1  # 将端口 veth0 接入namespace ns1 中 

ip netns list
ip netns ns1 exec ifconfig -a

ip addr add 10.100.1.1/24 dev veth1  # 给 veth1 端口指定 IP、子网掩码、广播域
ip link set veth1 up  # veth1 启用
ip netns exec ns1 ip addr add
10.100.1.2/24 dev veth0 # 给命名空间 ns1 中的端口veth0指定IP、子网掩码、广播域 ip netns exec ns1 ip link set veth0 up # 启用命名空间ns1 中的端口veth0 ip netns exec ns1 ip addr show # 和ip ad一样列出网络接口 ip netns exec ns1 ip route add default via 10.100.1.1 # 给命名空间 ns1 中设置路由规则下一跳地址设为物理机上接的网口的IP ip netns exec ns1 ip route show # 展示 ns1 上的路由规则 ip netns exec ns1 ping 10.100.1.1 -c 4 # ping 物理机上的veth1的IPecho 1 > /proc/sys/net/ipv4/ip_forward # 开启物理机的 ip forwarding 功能 iptables -P FORWARD DROP iptables -F FORWARD iptables -t nat -F iptables -t nat -A POSTROUTING -s 10.100.1.0/255.255.255.0 -o ens160 -j MASQUERADE # ens160为物理机上的可通外网的网卡 #Allow forwarding iptables -A FORWARD -i ens160 -o veth1 -j ACCEPT iptables -A FORWARD -o ens160 -i veth1 -j ACCEPT iptables -L -n # show the iptables of filter iptables -t nat -L -n # show the iptables of nat
复制代码

 

 

 

 


posted @   aaron_agu  阅读(115)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· C#/.NET/.NET Core技术前沿周刊 | 第 29 期(2025年3.1-3.9)
· 从HTTP原因短语缺失研究HTTP/2和HTTP/3的设计差异
历史上的今天:
2020-02-21 理解MySQL索引B+TREE
点击右上角即可分享
微信分享提示