ubuntu16.04搭建软路由

Ubuntu16以下可以使用,18使用netplan进行网络管理,方法不同

开启ubuntu核心转发

在/etc/sysctl.conf写入

net.ipv4.ip_forward=1

sysctl -p使其生效

配置dns服务

apt-get update && apt-get install -y dnsmasq
vim /etc/dnsmasq.conf

dnsmasq配置参考:https://blog.51cto.com/longlei/2065967

配置dhcp服务

apt install isc-dhcp-server vlan
vim /etc/default/isc-dhcp-server
vim /etc/dhcp/dhcpd.conf
service isc-dhcp-server restart

/etc/default/isc-dhcp-server参考:

# Defaults for isc-dhcp-server initscript
# sourced by /etc/init.d/isc-dhcp-server
# installed at /etc/default/isc-dhcp-server by the maintainer scripts

#
# This is a POSIX shell fragment
#

# Path to dhcpd's config file (default: /etc/dhcp/dhcpd.conf).
#DHCPD_CONF=/etc/dhcp/dhcpd.conf

# Path to dhcpd's PID file (default: /var/run/dhcpd.pid).
#DHCPD_PID=/var/run/dhcpd.pid

# Additional options to start dhcpd with.
#   Don't use options -cf or -pf here; use DHCPD_CONF/ DHCPD_PID instead
#OPTIONS=""

# On what interfaces should the DHCP server (dhcpd) serve DHCP requests?
#   Separate multiple interfaces with spaces, e.g. "eth0 eth1".
INTERFACES="vlan10 vlan11 vlan12 vlan13"

/etc/dhcp/dhcpd.conf参考

default-lease-time 3600;
max-lease-time 21600;
authoritative;

subnet 192.168.66.0 netmask 255.255.0.0 {
  interface vlan10;
  option routers 192.168.66.1;
  option subnet-mask 255.255.255.0;
  range 192.168.66.128 192.168.66.254;
}

host demo {
  hardware ethernet 00:1c:39:dd:1f:08;
  fixed-address 192.168.66.16;
}

subnet 10.101.0.0 netmask 255.255.255.0 {
  interface vlan11;
  option routers 10.101.0.1;
  option subnet-mask 255.255.255.0;
  range 10.101.0.100 10.101.0.254;
}

subnet 10.201.0.0 netmask 255.255.255.0 {
  interface vlan12;
  option routers 10.201.0.1;
  option subnet-mask 255.255.255.0;
  range 10.201.0.100 10.201.0.254;
}

subnet 10.105.0.0 netmask 255.255.255.0 {
  interface vlan13;
  option routers 10.105.0.1;
  option subnet-mask 255.255.255.0;
  range 10.105.0.100 10.105.0.254;
}

配置网卡vlan

eth0用于配置内部网络即lan

eth1用于连接公网即wan

vim /etc/network/interfaces.d/eth0

配置参考:

auto vlan10
iface vlan10 inet static
address 192.168.66.1
netmask 255.255.255.0
mtu 1500
vlan_raw_device eth0

auto vlan11
iface vlan11 inet static
address 10.101.0.1
netmask 255.255.255.0
mtu 1500
vlan_raw_device eth0

auto vlan12
iface vlan12 inet static
address 10.201.0.1
netmask 255.255.255.0
mtu 1500
vlan_raw_device eth0

auto vlan13
iface vlan13 inet static
address 10.105.0.1
netmask 255.255.255.0
mtu 1500
vlan_raw_device eth0

eth1:

vim /etc/network/interfaces.d/eth1
auto eth1
iface eth1 inet dhcp

配置iptables

开启snat,将内部数据转发到公网

iptables -t nat -A POSTROUTING -o eth1 -j MASQUERADE

其他用途:

nat端口转发

10.6.10.157为eth1的ip,192.168.66.11:443为内部地址端口

iptables -t nat -A PREROUTING -d 10.6.10.157 -p tcp --dport 8001 -j DNAT --to 192.168.66.11:443

网络转发限制

-s是源地址(source)

-d是目标地址(destination)

iptables -A FORWARD -s 192.168.128.0/17 -d 192.168.66.16 -j ACCEPT
iptables -A FORWARD -s 10.11.0.0/24 -d 10.105.0.0/24 -j DROP

流量抓取

tcpdump -i eth0 -s0 -G 3600 -w  '%Y-%m-%d_%H:%M.pcap'

esxi流量抓取

nohup pktcap-uw --switchport 33554434 -G 60 -o '%Y-%m-%d_%H:%M.pcap' &

配合esxi超好用

posted @ 2021-02-15 02:56  ~kagi~  阅读(1500)  评论(1编辑  收藏  举报