From 836980a6f974f34d5e5f43aee7c5b5aa6a92c8a0 Mon Sep 17 00:00:00 2001 From: Silvino Silva Date: Sat, 14 Jan 2017 03:25:14 +0000 Subject: core install prepare target bug fix --- core/install.html | 153 +++++++++++++++++++++++------------------------------- 1 file changed, 64 insertions(+), 89 deletions(-) (limited to 'core') diff --git a/core/install.html b/core/install.html index f95910f..be98a0d 100644 --- a/core/install.html +++ b/core/install.html @@ -18,6 +18,13 @@ Hand book 3.2, .

+

If you are booting from crux iso and is not your keyboard + layout of choice run;

+ +
+        # loadkeys dvorak
+        
+

1.1.1. Download Iso

Download Page @@ -33,143 +40,114 @@

Prepare disk or target location where new system will be installed. Follow steps describe how to create efi and - separate partitions such as; boot, root, var, tmp, - usr, ports, swap and home. Information about + separate partitions such as; + bios grub, EFI, swap, boot, root, var, usr and home. + Information about gpt partition table.

+

Create gpt label and set unit size to use;

         (parted) mklabel gpt
+        (parted) unit mib
+        
+ +

bootloader

+ +

Partition used by grub boot loader. Partition size 2M;

+ +
+        mkpart primary 1 3
+        name 1 grub
+        set 1 bios_grub on
         

/boot/efi

EFI System Partition, ESP type EF00. Partition with between 500M and 100M is recommended for standard - installations.

+ installations. Partition size 128M;

-        (parted) mkpart ESP fat32 1MiB    120MiB
+        (parted) mkpart ESP fat32 3 131
+        (parted) name 2 boot
+        (parted) set 2 boot on
         
+

Swap (ram)

+ +

Swap partition general advice is same size as memory ram, + ports system configured to build on ram need at least 34G + to build firefox. Other swap partitions can be added later for port + build on ram. Partition size 512M;

+
-        (parted) align-check opt 1
+        (parted) mkpart primary linux-swap 131 643
+        (parted) name 3 swap
         

/boot

-

Boot partition. Partition with 1G provides - room for crux iso to boot directly from grub.

- -
-        (parted) mkpart primary ext4 120MiB 1000MiB
-        
+

Boot partition. Partition with 1G provide room for kernels and + crux iso that can be directly boot from grub (without root partition). + Partition size 1G;

-        (parted) align-check optimal 2
+        (parted) mkpart primary ext4 643 1667
+        (parted) name 4 boot
         

/

-

Normal installation root partition uses 200MB-500MB, being - 1G recommended. Since we have plenty of space a partition - with 2G will be used to host a complete backup of final installation - configuration.

+

Normal core crux installation root partition uses approximately 2G, + without /usr 200MB-500M. Minimum 2G is recommended. Partition size 2.4G;

-        (parted) mkpart primary ext4 1000MiB 3000MiB
+        (parted) mkpart primary ext4 1667 4096
+        (parted) name 5 root
         
-
-        (parted) align-check optimal 3
-        
+

Core system can be installed from here, additional partitions can be + created now or later.

/var

-

Var partition is recommended 100MiB-500MiB, we will - use 1G; - -

-        (parted) mkpart primary ext4 3000MiB 4000MiB
-        
- -
-        (parted) align-check optimal 4
-        
- -

/tmp

- -

Temp partition with 20M-50M; - -

-        (parted) mkpart primary ext4 4000MiB 4050MiB
-        
+

Var partition is recommended 100MiB-500MiB. Partition size 1G;

-        (parted) align-check optimal 5
+        (parted) mkpart primary ext4 4096 5120
+        (parted) name 6 var
         

/usr

-

User partition with 4G is recommended for a desktop - setup, we will use 8G; - -

-        (parted) mkpart primary ext4 4050MiB 12000MiB
-        
+

User partition with 4G-8G is recommended for a desktop setup, we will use 8G;

-        (parted) align-check optimal 6
+        (parted) mkpart primary ext4 5120 13312
+        (parted) name 7 usr
         

/home

-

Home partition with 180G; - -

-        (parted) mkpart primary ext4 12000MiB 192000MiB
-        
- -
-        (parted) align-check optimal 7
-        
- -

/usr/ports

- -

Ports partition with 120G allows to host sources, package - backups and ports; - -

-        (parted) mkpart primary ext4 192000MiB 312000MiB
-        
- -
-        (parted) align-check optimal 8
-        
- -

Swap (ram)

- -

Swap partition general advice is same size as memory ram, - ports system configured to build on ram need at least 30G - to build firefox. Other swap partitions can be added later for port - build on ram.

+

Home partition can have limited size for later creation of lvm or fill the rest of + disk space;

-        (parted) mkpart primary linux-swap 312000MiB 342000MiB
+        (parted) mkpart primary ext4 13312 -1
+        (parted) name 8 home
         
-

Create filesystems;

+

Create filesystems

-       $ export BLK_EFI=/dev/sda1
-       $ export BLK_BOOT=/dev/sda2
-       $ export BLK_ROOT=/dev/sda3
-       $ export BLK_VAR=/dev/sda4
-       $ export BLK_TMP=/dev/sda5
-       $ export BLK_USR=/dev/sda6
-       $ export BLK_HOME=/dev/sda7
-       $ export BLK_PRT=/dev/sda8
-       $ export BLK_SWAP=/dev/sda9
+       $ export BLK_EFI=/dev/sda2
+       $ export BLK_SWAP=/dev/sda3
+       $ export BLK_BOOT=/dev/sda4
+       $ export BLK_ROOT=/dev/sda5
+       $ export BLK_VAR=/dev/sda6
+       $ export BLK_USR=/dev/sda7
+       $ export BLK_HOME=/dev/sda8
         
@@ -184,10 +162,8 @@
        $ sudo mkfs.ext4 $BLK_BOOT
        $ sudo mkfs.ext4 $BLK_ROOT
        $ sudo mkfs.ext4 $BKL_VAR
-       $ sudo mkfs.ext4 $BKL_TMP
        $ sudo mkfs.ext4 $BKL_USR
        $ sudo mkfs.ext4 $BKL_HOME
-       $ sudo mkfs.ext4 $BKL_PRT
         

1.1.3. Prepare Install

@@ -222,7 +198,6 @@ $ sudo mkdir -p $CHROOT/var/lib/pkg $ sudo mount $BLK_USR $CHROOT/usr - $ sudo mount $BLK_PRT $CHROOT/usr/ports $ sudo mount $BLK_HOME $CHROOT/home -- cgit 1.4.1-2-gfad0 From 5eeb7b45275d15b5562e07cdfd6738d76b1446a9 Mon Sep 17 00:00:00 2001 From: Silvino Silva Date: Sat, 14 Jan 2017 05:27:24 +0000 Subject: network revision --- core/conf/rc.d/iptables | 111 +++++++++++++------------- tools/conf/etc/iptables/vlan.v4 | 170 ++++++++++++++++++++++++++++++++++++++++ tools/conf/etc/rc.d/blan | 93 +++++++++++----------- tools/network.html | 19 +---- tools/qemu.html | 127 ++++++++++++++++++++---------- 5 files changed, 356 insertions(+), 164 deletions(-) create mode 100644 tools/conf/etc/iptables/vlan.v4 (limited to 'core') diff --git a/core/conf/rc.d/iptables b/core/conf/rc.d/iptables index 3f29928..bb5cf91 100644 --- a/core/conf/rc.d/iptables +++ b/core/conf/rc.d/iptables @@ -3,80 +3,79 @@ # /etc/rc.d/iptables: load/unload iptable rules # -case $1 in -start) - echo "Starting IPv4 firewall filter table..." - /usr/sbin/iptables-restore < /etc/iptables/rules.v4 - ;; -stop) - echo "Stopping firewall and deny everyone..." - iptables -F - iptables -X - iptables -t nat -F - iptables -t nat -X - iptables -t mangle -F - iptables -t mangle -X - iptables -t raw -F - iptables -t raw -X - iptables -t security -F - iptables -t security -X +rules=rules.v4 +#rules=vlan.v4 + +iptables_clear () { + echo "clear all iptables tables" + iptables -F + iptables -X + iptables -t nat -F + iptables -t nat -X + iptables -t mangle -F + iptables -t mangle -X + iptables -t raw -F + iptables -t raw -X + iptables -t security -F + iptables -t security -X +} +case $1 in + start) + iptables_clear + echo "starting IPv4 firewall filter table..." + /usr/sbin/iptables-restore < /etc/iptables/${rules} + ;; + stop) + iptables_clear + echo "stopping firewall and deny everyone..." /usr/sbin/iptables -P INPUT DROP /usr/sbin/iptables -P FORWARD DROP /usr/sbin/iptables -P OUTPUT DROP - # Unlimited on local - /usr/sbin/iptables -A INPUT -i lo -j ACCEPT - /usr/sbin/iptables -A OUTPUT -o lo -j ACCEPT + # Unlimited on local + /usr/sbin/iptables -A INPUT -i lo -j ACCEPT + /usr/sbin/iptables -A OUTPUT -o lo -j ACCEPT - # log everything else and drop - /usr/sbin/iptables -A INPUT -j LOG --log-level 7 --log-prefix "iptables: INPUT: " - /usr/sbin/iptables -A OUTPUT -j LOG --log-level 7 --log-prefix "iptables: OUTPUT: " - /usr/sbin/iptables -A FORWARD -j LOG --log-level 7 --log-prefix "iptables: FORWARD: " + # log everything else and drop + /usr/sbin/iptables -A INPUT -j LOG --log-level 7 --log-prefix "iptables: INPUT: " + /usr/sbin/iptables -A OUTPUT -j LOG --log-level 7 --log-prefix "iptables: OUTPUT: " + /usr/sbin/iptables -A FORWARD -j LOG --log-level 7 --log-prefix "iptables: FORWARD: " - ;; -open) - echo "Outgoing Open firewall and deny everyone..." - iptables -F - iptables -X - iptables -t nat -F - iptables -t nat -X - iptables -t mangle -F - iptables -t mangle -X - iptables -t raw -F - iptables -t raw -X - iptables -t security -F - iptables -t security -X + ;; + open) + iptables_clear + echo "outgoing Open firewall and deny everyone..." /usr/sbin/iptables -P INPUT DROP /usr/sbin/iptables -P FORWARD DROP /usr/sbin/iptables -P OUTPUT ACCEPT - # Unlimited on local - /usr/sbin/iptables -A INPUT -i lo -j ACCEPT - /usr/sbin/iptables -A OUTPUT -o lo -j ACCEPT - - # Accept passive - /usr/sbin/iptables -A INPUT -p tcp --dport 1024: -m state --state ESTABLISHED,RELATED -j ACCEPT + /usr/sbin/iptables -A OUTPUT -j ACCEPT - /usr/sbin/iptables -A INPUT -p udp --dport 1024: -m state --state ESTABLISHED,RELATED -j ACCEPT + # Unlimited on local + /usr/sbin/iptables -A INPUT -i lo -j ACCEPT + /usr/sbin/iptables -A OUTPUT -o lo -j ACCEPT + # Accept passive + /usr/sbin/iptables -A INPUT -p tcp --dport 1024: -m state --state ESTABLISHED,RELATED -j ACCEPT + /usr/sbin/iptables -A INPUT -p udp --dport 1024: -m state --state ESTABLISHED,RELATED -j ACCEPT - # log everything else and drop - /usr/sbin/iptables -A INPUT -j LOG --log-level 7 --log-prefix "iptables: INPUT: " - #/usr/sbin/iptables -A OUTPUT -j LOG --log-level 7 --log-prefix "iptables: OUTPUT: " - /usr/sbin/iptables -A FORWARD -j LOG --log-level 7 --log-prefix "iptables: FORWARD: " + # log everything else and drop + /usr/sbin/iptables -A INPUT -j LOG --log-level 7 --log-prefix "iptables: INPUT: " + /usr/sbin/iptables -A OUTPUT -j LOG --log-level 7 --log-prefix "iptables: OUTPUT: " + /usr/sbin/iptables -A FORWARD -j LOG --log-level 7 --log-prefix "iptables: FORWARD: " - ;; + ;; -restart) - $0 stop - $0 start - ;; -*) + restart) + $0 stop + $0 start + ;; + *) - echo "usage: $0 [start|stop|restart]" - ;; + echo "usage: $0 [start|stop|restart]" + ;; esac # End of file diff --git a/tools/conf/etc/iptables/vlan.v4 b/tools/conf/etc/iptables/vlan.v4 new file mode 100644 index 0000000..8c87389 --- /dev/null +++ b/tools/conf/etc/iptables/vlan.v4 @@ -0,0 +1,170 @@ +# Generated by iptables-save v1.6.0 on Sat Oct 15 17:20:41 2016 +*security +:INPUT ACCEPT [6:2056] +:FORWARD ACCEPT [0:0] +:OUTPUT ACCEPT [6:2056] +COMMIT +# Completed on Sat Oct 15 17:20:41 2016 +# Generated by iptables-save v1.6.0 on Sat Oct 15 17:20:41 2016 +*raw +:PREROUTING ACCEPT [7:2092] +:OUTPUT ACCEPT [6:2056] +COMMIT +# Completed on Sat Oct 15 17:20:41 2016 +# Generated by iptables-save v1.6.0 on Sat Oct 15 17:20:41 2016 +*mangle +:PREROUTING ACCEPT [7:2092] +:INPUT ACCEPT [6:2056] +:FORWARD ACCEPT [0:0] +:OUTPUT ACCEPT [6:2056] +:POSTROUTING ACCEPT [6:2056] +COMMIT +# Completed on Sat Oct 15 17:20:41 2016 +# Generated by iptables-save v1.6.0 on Sat Oct 15 17:20:41 2016 +*filter +:INPUT DROP [0:0] +:FORWARD ACCEPT [0:0] +:OUTPUT DROP [0:0] +-A INPUT -i lo -j ACCEPT +-A INPUT -i br0 -j ACCEPT +-A INPUT -p tcp -m tcp ! --tcp-flags FIN,SYN,RST,ACK SYN -m state --state NEW -m limit --limit 5/min --limit-burst 7 -j LOG --log-prefix "iptables: drop sync: " --log-level 7 +-A INPUT -p tcp -m tcp ! --tcp-flags FIN,SYN,RST,ACK SYN -m state --state NEW -j DROP +-A INPUT -f -m limit --limit 5/min --limit-burst 7 -j LOG --log-prefix "iptables: drop frag: " +-A INPUT -f -j DROP +-A INPUT -p tcp -m tcp --tcp-flags FIN,SYN,RST,PSH,ACK,URG FIN,PSH,URG -j DROP +-A INPUT -p tcp -m tcp --tcp-flags FIN,SYN,RST,PSH,ACK,URG FIN,SYN,RST,PSH,ACK,URG -j DROP +-A INPUT -p tcp -m tcp --tcp-flags FIN,SYN,RST,PSH,ACK,URG NONE -m limit --limit 5/min --limit-burst 7 -j LOG --log-prefix "iptables: drop null: " +-A INPUT -p tcp -m tcp --tcp-flags FIN,SYN,RST,PSH,ACK,URG NONE -j DROP +-A INPUT -p tcp -m tcp --tcp-flags SYN,RST SYN,RST -m limit --limit 5/min --limit-burst 7 -j LOG --log-prefix "iptables: drop syn rst syn rs" +-A INPUT -p tcp -m tcp --tcp-flags SYN,RST SYN,RST -j DROP +-A INPUT -p tcp -m tcp --tcp-flags FIN,SYN FIN,SYN -m limit --limit 5/min --limit-burst 7 -j LOG --log-prefix "iptables: drop xmas: " +-A INPUT -p tcp -m tcp --tcp-flags FIN,SYN FIN,SYN -j DROP +-A INPUT -p tcp -m tcp --tcp-flags FIN,ACK FIN -m limit --limit 5/min --limit-burst 7 -j LOG --log-prefix "iptables: drop fin scan: " +-A INPUT -p tcp -m tcp --tcp-flags FIN,ACK FIN -j DROP +-A INPUT -p tcp -m tcp --tcp-flags FIN,SYN,RST,PSH,ACK,URG FIN,SYN,RST,ACK,URG -j DROP +################################################################################# +# INPUT +# Established connections and passive +# + +# Allow established from dns server +#-A INPUT -p udp -m udp --sport 53 --dport 1024:65535 -m state --state ESTABLISHED -j ACCEPT +# INPUT accept passive +-A INPUT -p tcp -m tcp --sport 1024:65535 --dport 1024:65535 -m state --state ESTABLISHED -j ACCEPT +-A INPUT -p tcp -m tcp --sport 1024:65535 --dport 1024:65535 -m state --state RELATED -j ACCEPT + + +# Allow irc +-A INPUT -p tcp -m tcp --sport 6667 --dport 1024:65535 -m state --state ESTABLISHED -j ACCEPT +# Allow xmmp +-A INPUT -p tcp -m tcp --sport 5222 --dport 1024:65535 -m state --state ESTABLISHED,RELATED -j ACCEPT +# Allow established from https server +-A INPUT -p tcp -m tcp --sport 443 --dport 1024:65535 -m state --state ESTABLISHED,RELATED -j ACCEPT +-A INPUT -p udp -m udp --sport 443 --dport 1024:65535 -m state --state ESTABLISHED -j ACCEPT + +# Allow established from http server +-A INPUT -p tcp -m tcp --sport 80 --dport 1024:65535 -m state --state ESTABLISHED -j ACCEPT +# Allow established from rsync server +-A INPUT -p tcp -m tcp --sport 873 --dport 1024:65535 -m state --state ESTABLISHED -j ACCEPT +# Allow established from pop3s server +-A INPUT -p tcp -m tcp --sport 995 --dport 1024:65535 -m state --state ESTABLISHED -j ACCEPT +# Allow established from smtps server +-A INPUT -p tcp -m tcp --sport 465 --dport 1024:65535 -m state --state ESTABLISHED -j ACCEPT +# Allow established from ntp server +-A INPUT -p udp -m udp --sport 123 --dport 1024:65535 -m state --state ESTABLISHED -j ACCEPT +# Allow established from whois server +-A INPUT -p tcp -m tcp --sport 43 --dport 1024:65535 -m state --state ESTABLISHED -j ACCEPT +# Allow established from ftp server +-A INPUT -p tcp -m tcp --sport 20 --dport 1024:65535 -m state --state ESTABLISHED -j ACCEPT +-A INPUT -p tcp -m tcp --sport 21 --dport 1024:65535 -m state --state ESTABLISHED -j ACCEPT +-A INPUT -p tcp -m tcp --sport 22 --dport 1024:65535 -m state --state ESTABLISHED -j ACCEPT +################################################################################## +# INPUT +# New and established connections to local servers +# + +# allow ping +-A INPUT -p icmp --icmp-type 8 -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT +-A INPUT -p icmp --icmp-type 0 -m state --state ESTABLISHED,RELATED -j ACCEPT + +# INPUT accept from wlp7s0 to dns server +#-A INPUT -p udp -m udp --sport 1024:65535 --dport 53 -m state --state NEW,ESTABLISHED -j ACCEPT + +# INPUT accept from wlp7s0 to https server +-A INPUT -p tcp -m tcp --sport 1024:65535 --dport 443 -m state --state NEW,ESTABLISHED -j ACCEPT +# INPUT accept from wlp7s0 to ssh server +-A INPUT -p tcp -m tcp --sport 1024:65535 --dport 2222 -m state --state ESTABLISHED -j ACCEPT +-A INPUT -p tcp -m tcp --sport 1024:65535 --dport 2222 -m state --state NEW -m limit --limit 6/min --limit-burst 3 -j ACCEPT + +-A FORWARD -i br0 -j ACCEPT + +-A INPUT -j LOG --log-prefix "iptables: INPUT: " --log-level 7 +-A FORWARD -j LOG --log-prefix "iptables: FORWARD: " --log-level 7 + +################################################################################## +# Output +# Connections to remote servers +# +-A OUTPUT -o lo -j ACCEPT +-A OUTPUT -o br0 -j ACCEPT + +# Allow ping +-A OUTPUT -p icmp --icmp-type 8 -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT +# Allow to ssh clients +-A OUTPUT -p tcp -m tcp --sport 2222 --dport 1024:65535 -m state --state ESTABLISHED -j ACCEPT + +# Allow to dns +#-A OUTPUT -p udp -m udp --sport 1024:65535 --dport 53 -m state --state NEW,ESTABLISHED -j ACCEPT +# Allow from dns server +#-A OUTPUT -p udp -m udp --sport 53 --dport 1024:65535 -m state --state ESTABLISHED -j ACCEPT + +# Allow irc +-A OUTPUT -p tcp -m tcp --sport 1024:65535 --dport 6667 -m state --state NEW,ESTABLISHED -j ACCEPT +# Allow xmmp +-A OUTPUT -p tcp -m tcp --sport 1024:65535 --dport 5222 -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT + + +# Allow to rsync server +-A OUTPUT -p tcp -m tcp --sport 1024:65535 --dport 873 -m state --state NEW,ESTABLISHED -j ACCEPT +# Allow to pop3s server +-A OUTPUT -p tcp -m tcp --sport 1024:65535 --dport 995 -m state --state NEW,ESTABLISHED -j ACCEPT +# Allow to smtps server +-A OUTPUT -p tcp -m tcp --sport 1024:65535 --dport 465 -m state --state NEW,ESTABLISHED -j ACCEPT +# Allow to ntp server +-A OUTPUT -p udp -m udp --sport 1024:65535 --dport 123 -m state --state NEW,ESTABLISHED -j ACCEPT +# Allow to ftp server +-A OUTPUT -p tcp -m tcp --sport 1024:65535 --dport 21 -m state --state NEW,ESTABLISHED -j ACCEPT +-A OUTPUT -p tcp -m tcp --sport 1024:65535 --dport 20 -m state --state NEW,ESTABLISHED -j ACCEPT +# Allow to https server +-A OUTPUT -p tcp -m tcp --sport 1024:65535 --dport 443 -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT +-A OUTPUT -p udp -m udp --sport 1024:65535 --dport 443 -m state --state NEW,ESTABLISHED -j ACCEPT +# Allow to http server +-A OUTPUT -p tcp -m tcp --sport 1024:65535 --dport 80 -m state --state NEW,ESTABLISHED -j ACCEPT + +################################################################################## +# Output +# Connections from local servers +# + + +-A OUTPUT -p tcp -m tcp --sport 1024:65535 --dport 1024:65535 -m state --state ESTABLISHED -j ACCEPT +-A OUTPUT -p tcp -m tcp --sport 1024:65535 --dport 1024:65535 -m state --state RELATED -j ACCEPT +-A OUTPUT -p tcp -m tcp --sport 1024:65535 --dport 1024:65535 -m state --state NEW -j ACCEPT + + +-A OUTPUT -j LOG --log-prefix "iptables: OUTPUT: " --log-level 7 +COMMIT +# Completed on Sat Oct 15 17:20:41 2016 +# Generated by iptables-save v1.6.0 on Sat Oct 15 17:20:41 2016 +*nat +:PREROUTING ACCEPT [1:36] +:INPUT ACCEPT [0:0] +:OUTPUT ACCEPT [0:0] +:POSTROUTING ACCEPT [0:0] + +-A POSTROUTING -s 10.0.0.0/24 -d 10.0.0.0/24 -j ACCEPT +-A POSTROUTING -s 10.0.0.0/24 -j MASQUERADE +#-A POSTROUTING -o wlp7s0 -j MASQUERADE + +COMMIT +# Completed on Sat Oct 15 17:20:41 2016 diff --git a/tools/conf/etc/rc.d/blan b/tools/conf/etc/rc.d/blan index f75d272..f3ea322 100755 --- a/tools/conf/etc/rc.d/blan +++ b/tools/conf/etc/rc.d/blan @@ -4,60 +4,55 @@ # DEV="br0" -PHY="enp8s0" -ADDR=10.0.0.1 +ADDR=10.0.0.254 NET=10.0.0.0 +GW=192.168.1.254 MASK=24 -GTW=10.0.0.1 -NTAPS=$((`/usr/bin/nproc`-1)) + +# one tap for each cpu core +NTAPS=$((`/usr/bin/nproc`)) case $1 in - start) - /sbin/ip link add name ${DEV} type bridge - /sbin/ip link set dev ${DEV} up - - /bin/sleep 0.2s - /sbin/ip route flush dev ${PHY} - /sbin/ip addr flush dev ${PHY} - /sbin/ip link set dev ${PHY} master ${DEV} - - /sbin/ip addr add ${ADDR}/${MASK} dev ${DEV} broadcast + - - for i in `/usr/bin/seq $NTAPS` - do - TAP="tap$i" - echo $TAP - /sbin/ip tuntap add ${TAP} mode tap group kvm - /sbin/ip link set ${TAP} up - /bin/sleep 0.2s - #brctl addif $switch $1 - /sbin/ip link set ${TAP} master ${DEV} - done - - exit 0 - ;; - stop) - - for i in `/usr/bin/seq $NTAPS` - do - TAP="tap$i" - /sbin/ip link del ${TAP} - echo $TAP - done - - /sbin/ip link set dev ${DEV} down - /sbin/ip route flush dev ${DEV} - /sbin/ip link del ${DEV} - exit 0 - ;; - restart) - $0 stop - $0 start - ;; - *) - echo "Usage: $0 [start|stop|restart]" - ;; + start) + /sbin/ip link add name ${DEV} type bridge + /sbin/ip addr add ${ADDR}/${MASK} dev ${DEV} broadcast + + /sbin/ip link set dev ${DEV} up + /bin/sleep 0.2s + + for i in `/usr/bin/seq $NTAPS` + do + TAP="tap$i" + echo "Setting up ${TAP} tap interface." + /sbin/ip tuntap add ${TAP} mode tap group kvm + /sbin/ip link set ${TAP} up + /bin/sleep 0.2s + /sbin/ip link set ${TAP} master ${DEV} + done + + exit 0 + ;; + stop) + + for i in `/usr/bin/seq $NTAPS` + do + TAP="tap$i" + echo "Deleting ${TAP} tap interface." + /sbin/ip link del ${TAP} + done + + /sbin/ip link set dev ${DEV} down + /sbin/ip route flush dev ${DEV} + /sbin/ip link del ${DEV} + exit 0 + ;; + restart) + $0 stop + $0 start + ;; + *) + echo "Usage: $0 [start|stop|restart]" + ;; esac # End of file diff --git a/tools/network.html b/tools/network.html index 43e4616..bb4c0be 100644 --- a/tools/network.html +++ b/tools/network.html @@ -20,24 +20,7 @@ how to create interfaces at startup or as source to do it in automatic way;

-
-        DEV="br0"
-        PHY="enp8s0"
-        
- -
-        # ip link add name ${DEV} type bridge
-        # ip link set dev ${DEV} up
-        
-
-        # ip route flush dev ${PHY}
-        # ip addr flush dev ${PHY}
-        # ip link set dev ${PHY} master ${DEV}
-        
- -
-        # ip addr add ${ADDR}/${MASK} dev ${DEV} broadcast +
-        
+

For more information about bridges Bridges with iptables

Tools Index

This is part of the c9 Manual. diff --git a/tools/qemu.html b/tools/qemu.html index 0079dfc..86fb7aa 100644 --- a/tools/qemu.html +++ b/tools/qemu.html @@ -12,7 +12,9 @@

1. Host System

-

Load modules, in this case kvm of intel cpu;

+

Prepare host system for virtual machines, this includes create new user, + loading necessary modules and configure network. Load kvm module, in this example + intel module is loaded but depends on host cpu;

         # modprobe -a kvm-intel tun virtio
@@ -27,6 +29,7 @@
 
         

2. Disk images

+

Qemu supports multiple disk images types.

img
Raw disk image, allows dd to a physical device.
@@ -115,67 +118,109 @@ KERNEL=="tun", GROUP="kvm", MODE="0660", OPTIONS+="static_node=net/tun"
+

2.1. Routing

-

2.1. Public Bridge

- -

Create bridge, create new - tap and add it to bridge;

- -
-        # DEV="br0"
-        # TAP="tap1"
-        
- -
-        # ip tuntap add ${TAP} mode tap group kvm
-        # ip link set ${TAP} up
-        
+

Create interface with correct permissions set for kvm group.

-        # ip link set ${TAP} master ${DEV}
+        # sysctl -w net.ipv4.ip_forward=1
+        # iptables -A INPUT -i br0 -j ACCEPT
+        # iptables -A FORWARD -i br0 -j ACCEPT
+        # iptables -t nat -A POSTROUTING -s 10.0.0.0/24 -d 10.0.0.0/24 -j ACCEPT
+        # iptables -t nat -A POSTROUTING -s 10.0.0.0/24 -j MASQUERADE
         
-

2.2. Routing

+

2.2. Public Bridge

-

Create interface with correct permissions set for kvm group.

+

Create bridge, create new + tap and add it to bridge;

-        # sysctl -w net.ipv4.ip_forward=1
-        # iptables -t nat -A POSTROUTING -s 10.0.0.0/24 -o eth0 -j MASQUERADE
+        DEV="br0"
+
+        ADDR=10.0.0.254
+        NET=10.0.0.0
+        GW=192.168.1.254
+        MASK=24
+
+        # one tap for each cpu core
+        NTAPS=$((`/usr/bin/nproc`))
+
+        case $1 in
+            start)
+                /sbin/ip link add name ${DEV} type bridge
+                /sbin/ip addr add ${ADDR}/${MASK} dev ${DEV} broadcast +
+                /sbin/ip link set dev ${DEV} up
+                /bin/sleep 0.2s
+
+                for i in `/usr/bin/seq $NTAPS`
+                do
+                    TAP="tap$i"
+                    echo "Setting up ${TAP} tap interface."
+                    /sbin/ip tuntap add ${TAP} mode tap group kvm
+                    /sbin/ip link set ${TAP} up
+                    /bin/sleep 0.2s
+                    /sbin/ip link set ${TAP} master ${DEV}
+                done
+
+                exit 0
+                ;;
+            stop)
+
+                for i in `/usr/bin/seq $NTAPS`
+                do
+                    TAP="tap$i"
+                    echo "Deleting ${TAP} tap interface."
+                    /sbin/ip link del ${TAP}
+                done
+
+                /sbin/ip link set dev ${DEV} down
+                /sbin/ip route flush dev ${DEV}
+                /sbin/ip link del ${DEV}
+                exit 0
+                ;;
+            restart)
+                $0 stop
+                $0 start
+                ;;
+            *)
+                echo "Usage: $0 [start|stop|restart]"
+                ;;
+        esac
+
+        # End of file
         

Guest System

-

Start qemu with 512 of ram, mydisk.img as disk and boot from iso

-

See scripts/system-qemu.sh, as template. Run virtual machine that uses above tap device;

-        $ ISO=~/crux-3.2.iso
-        $ IMG=~/crux-img.qcow2
-        $ TAP="tap1"
+        #!/bin/bash
 
-        $ qemu-system-x86_64 \
-            -enable-kvm \
-            -m 1024 \
-            -boot d \
-            -cdrom ${ISO} \
-            -hda ${IMG} \
-            -net nic,model=virtio -net tap,ifname=${TAP},script=no,downscript=no
-        
+ function rmac_addr (){ + printf '54:60:BE:EF:%02X:%02X\n' $((RANDOM%256)) $((RANDOM%256)) + } -
-        $ ISO=~/crux-3.2.iso
-        $ IMG=~/crux-img.qcow2
+        #boot=d
+        boot=$1
+        #iso=crux-3.2.iso
+        iso=$2
+        #image=crux-img.qcow2
+        image=$3
+        #tap="tap1"
+        tap=$4
+        mac=$(rmac_addr)
 
-        $ qemu-system-x86_64 \
+        qemu-system-x86_64 \
             -enable-kvm \
             -m 1024 \
-            -boot d \
-            -cdrom ${ISO} \
-            -hda ${IMG} \
-            -net nic,model=virtio -net tap,ifname=${TAP},script=no,downscript=no
+            -boot ${boot} \
+            -cdrom ${iso} \
+            -hda ${image} \
+            -device e1000,netdev=t0,mac=${mac} \
+            -netdev tap,id=t0,ifname=${tap},script=no,downscript=no
         
Tools Index -- cgit 1.4.1-2-gfad0 From 2cbb84a5636b125fcb26319dbfa87159a28a7f56 Mon Sep 17 00:00:00 2001 From: Silvino Silva Date: Fri, 20 Jan 2017 21:16:33 +0000 Subject: new httpup ports location --- core/conf/ports/c9-ports.httpup | 2 +- index.html | 7 ++++--- 2 files changed, 5 insertions(+), 4 deletions(-) (limited to 'core') diff --git a/core/conf/ports/c9-ports.httpup b/core/conf/ports/c9-ports.httpup index 3a275e5..349e13e 100644 --- a/core/conf/ports/c9-ports.httpup +++ b/core/conf/ports/c9-ports.httpup @@ -3,5 +3,5 @@ # ROOT_DIR=/usr/ports/c9-ports -URL=https://github.com/s1lvino/c9-ports/raw/master/ +URL=https://s1lvino.github.io/c9-ports/ # End of file diff --git a/index.html b/index.html index cf78c35..020812d 100644 --- a/index.html +++ b/index.html @@ -18,8 +18,9 @@

Ports

-

Content of - c9-ports.httpup; +

Httup file + c9-ports.httpup of c9-ports + c9-ports

@@ -28,7 +29,7 @@
         #
 
         ROOT_DIR=/usr/ports/c9-ports
-        URL=https://github.com/s1lvino/c9-ports/raw/master/
+        URL=https://s1lvino.github.io/c9-ports/
         # End of file
         
-- cgit 1.4.1-2-gfad0 From 6d9701ecd628af60c64d1e0740a5bd5bd6a3a850 Mon Sep 17 00:00:00 2001 From: Silvino Silva Date: Fri, 20 Jan 2017 21:19:45 +0000 Subject: correct /etc/hosts --- core/conf/hosts | 22 ++++++++++++++++++---- 1 file changed, 18 insertions(+), 4 deletions(-) (limited to 'core') diff --git a/core/conf/hosts b/core/conf/hosts index ee776e2..449949b 100644 --- a/core/conf/hosts +++ b/core/conf/hosts @@ -1,13 +1,27 @@ # # /etc/hosts: static lookup table for host names # - -# IPv4 +# IPv4 LocalHosts 127.0.0.1 localhost.localdomain localhost -127.0.0.1 c9.localdomain c9 +127.0.0.1 c9.core c9 + +127.0.0.1 wiki.localhost +127.0.0.1 git.localhost +127.0.0.1 doc.localhost +127.0.0.1 ports.localhost + +# IPv4 Intranet +# + +10.0.0.254 c9.core +10.0.0.254 wiki.c9.core +10.0.0.254 git.c9.core +10.0.0.254 doc.c9.core +10.0.0.254 ports.c9.core +# IPv4 Internet # -192.168.1.9 core.privat-network.net c9.core +10.0.0.254 core.privat-network.net # IPv6 #::1 ip6-localhost ip6-loopback -- cgit 1.4.1-2-gfad0 From 6f70ea02c783d69b3eeb225ab7047de74020a0a9 Mon Sep 17 00:00:00 2001 From: Silvino Silva Date: Fri, 20 Jan 2017 21:29:59 +0000 Subject: revert repo from github pages --- core/conf/ports/c9-ports.httpup | 2 +- index.html | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) (limited to 'core') diff --git a/core/conf/ports/c9-ports.httpup b/core/conf/ports/c9-ports.httpup index 349e13e..3a275e5 100644 --- a/core/conf/ports/c9-ports.httpup +++ b/core/conf/ports/c9-ports.httpup @@ -3,5 +3,5 @@ # ROOT_DIR=/usr/ports/c9-ports -URL=https://s1lvino.github.io/c9-ports/ +URL=https://github.com/s1lvino/c9-ports/raw/master/ # End of file diff --git a/index.html b/index.html index 020812d..581569e 100644 --- a/index.html +++ b/index.html @@ -29,7 +29,7 @@ # ROOT_DIR=/usr/ports/c9-ports - URL=https://s1lvino.github.io/c9-ports/ + URL=https://github.com/s1lvino/c9-ports/raw/master/ # End of file -- cgit 1.4.1-2-gfad0 From 34b309e494101f3c5c0113e824d7e0633a2dcb23 Mon Sep 17 00:00:00 2001 From: Silvino Silva Date: Fri, 20 Jan 2017 21:56:54 +0000 Subject: added /shm to fstab required by semaphores --- core/conf/fstab | 2 +- core/configure.html | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) (limited to 'core') diff --git a/core/conf/fstab b/core/conf/fstab index b579488..67bc4e4 100644 --- a/core/conf/fstab +++ b/core/conf/fstab @@ -15,7 +15,7 @@ #/dev/floppy/0 /floppy vfat user,noauto,unhide 0 0 #devpts /dev/pts devpts noexec,nosuid,gid=tty,mode=0620 0 0 #tmp /tmp tmpfs defaults 0 0 -#shm /dev/shm tmpfs defaults 0 0 +shm /dev/shm tmpfs defaults 0 0 #usb /proc/bus/usb usbfs defaults 0 0 devpts /dev/pts devpts noexec,nosuid,gid=tty,mode=0620 0 0 diff --git a/core/configure.html b/core/configure.html index d7bbc25..66ed69c 100644 --- a/core/configure.html +++ b/core/configure.html @@ -222,7 +222,7 @@ #/dev/dvd /dvd udf ro,user,noauto,unhide 0 0 #/dev/floppy/0 /floppy vfat user,noauto,unhide 0 0 #tmp /tmp tmpfs defaults 0 0 - #shm /dev/shm tmpfs defaults 0 0 + shm /dev/shm tmpfs defaults 0 0 #usb /proc/bus/usb usbfs defaults 0 0 devpts /dev/pts devpts noexec,nosuid,gid=tty,mode=0620 0 0 -- cgit 1.4.1-2-gfad0